[INFO] fetching crate esri_json 0.2.2...
[INFO] fixing esri_json-0.2.2 against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=start=2015 for pr-157817-2
[INFO] extracting crate esri_json 0.2.2 into /workspace/builds/worker-2-tc1/source
[INFO] started tweaking crates.io crate esri_json 0.2.2
[INFO] finished tweaking crates.io crate esri_json 0.2.2
[INFO] tweaked toml for crates.io crate esri_json 0.2.2 written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate esri_json 0.2.2 on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate esri_json 0.2.2 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded i_tree v0.16.0
[INFO] [stderr]   Downloaded sif-itree v0.4.0
[INFO] [stderr]   Downloaded i_key_sort v0.6.0
[INFO] [stderr]   Downloaded float_next_after v1.0.0
[INFO] [stderr]   Downloaded i_shape v1.14.0
[INFO] [stderr]   Downloaded i_float v1.15.0
[INFO] [stderr]   Downloaded geojson v0.24.2
[INFO] [stderr]   Downloaded geographiclib-rs v0.2.5
[INFO] [stderr]   Downloaded i_overlay v4.0.6
[INFO] [stderr]   Downloaded geo v0.32.0
[INFO] [stderr]   Downloaded earcutr v0.4.3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 1b75c8b58ed7db5608c2c6ec2d6eafa0915f24b6c29dca5bb837564be552e0cf
[INFO] running `Command { std: "docker" "start" "1b75c8b58ed7db5608c2c6ec2d6eafa0915f24b6c29dca5bb837564be552e0cf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "1b75c8b58ed7db5608c2c6ec2d6eafa0915f24b6c29dca5bb837564be552e0cf" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1b75c8b58ed7db5608c2c6ec2d6eafa0915f24b6c29dca5bb837564be552e0cf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "1b75c8b58ed7db5608c2c6ec2d6eafa0915f24b6c29dca5bb837564be552e0cf" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=start=2015", kill_on_drop: false }`
[INFO] [stderr]    Compiling libm v0.2.15
[INFO] [stderr]    Compiling hashbrown v0.17.1
[INFO] [stderr]    Compiling winnow v1.0.3
[INFO] [stderr]    Compiling toml_datetime v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling thiserror v2.0.17
[INFO] [stderr]    Compiling rstest_macros v0.26.1
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling relative-path v1.9.3
[INFO] [stderr]     Checking serde_json v1.0.149
[INFO] [stderr]    Compiling glob v0.3.3
[INFO] [stderr]     Checking futures-core v0.3.32
[INFO] [stderr]    Compiling cfg-if v1.0.4
[INFO] [stderr]     Checking futures-timer v3.0.4
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling toml_parser v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling toml_edit v0.25.12+spec-1.1.0
[INFO] [stderr]    Compiling proc-macro-crate v3.5.0
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling thiserror-impl v2.0.17
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking rstest v0.26.1
[INFO] [stderr]     Checking geo-types v0.7.18
[INFO] [stderr]     Checking geo-traits v0.3.0
[INFO] [stderr]     Checking geojson v0.24.2
[INFO] [stderr]     Checking wkt v0.14.0
[INFO] [stderr]     Checking esri_json v0.2.2 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0433]: cannot find module or crate `esri_json_test_fixtures` in this scope
[INFO] [stdout]   --> src/geometry/multipoint.rs:57:9
[INFO] [stdout]    |
[INFO] [stdout] 57 |     use esri_json_test_fixtures::multipoint::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `esri_json_test_fixtures`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `esri_json_test_fixtures`, use `cargo add esri_json_test_fixtures` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `esri_json_test_fixtures` in this scope
[INFO] [stdout]    --> src/geometry/point.rs:112:9
[INFO] [stdout]     |
[INFO] [stdout] 112 |     use esri_json_test_fixtures::point::*;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `esri_json_test_fixtures`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `esri_json_test_fixtures`, use `cargo add esri_json_test_fixtures` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `esri_json_test_fixtures` in this scope
[INFO] [stdout]   --> src/geometry/polygon.rs:60:9
[INFO] [stdout]    |
[INFO] [stdout] 60 |     use esri_json_test_fixtures::polygon::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `esri_json_test_fixtures`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `esri_json_test_fixtures`, use `cargo add esri_json_test_fixtures` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `esri_json_test_fixtures` in this scope
[INFO] [stdout]   --> src/geometry/polyline.rs:58:9
[INFO] [stdout]    |
[INFO] [stdout] 58 |     use esri_json_test_fixtures::polyline::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `esri_json_test_fixtures`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `esri_json_test_fixtures`, use `cargo add esri_json_test_fixtures` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `esri_json_test_fixtures` in this scope
[INFO] [stdout]    --> src/js_sdk/graphic.rs:228:9
[INFO] [stdout]     |
[INFO] [stdout] 228 |     use esri_json_test_fixtures::graphic::*;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `esri_json_test_fixtures`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `esri_json_test_fixtures`, use `cargo add esri_json_test_fixtures` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `esri_json_macro`
[INFO] [stdout]   --> src/webscene/common/line_pattern.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 44 |     use esri_json_macro::assert_json_roundtrip;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `esri_json_macro`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `esri_json_macro`, use `cargo add esri_json_macro` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `esri_json_macro`
[INFO] [stdout]   --> src/geometry/multipoint.rs:56:9
[INFO] [stdout]    |
[INFO] [stdout] 56 |     use esri_json_macro::test_all_number_types;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `esri_json_macro`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `esri_json_macro`, use `cargo add esri_json_macro` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `esri_json_macro`
[INFO] [stdout]    --> src/geometry/point.rs:111:9
[INFO] [stdout]     |
[INFO] [stdout] 111 |     use esri_json_macro::test_all_coord_types;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `esri_json_macro`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `esri_json_macro`, use `cargo add esri_json_macro` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `esri_json_macro`
[INFO] [stdout]   --> src/geometry/polygon.rs:59:9
[INFO] [stdout]    |
[INFO] [stdout] 59 |     use esri_json_macro::{test_all_coord_types, test_all_number_types};
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `esri_json_macro`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `esri_json_macro`, use `cargo add esri_json_macro` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `esri_json_macro`
[INFO] [stdout]   --> src/geometry/polyline.rs:57:9
[INFO] [stdout]    |
[INFO] [stdout] 57 |     use esri_json_macro::{assert_json_roundtrip, test_all_number_types};
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `esri_json_macro`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `esri_json_macro`, use `cargo add esri_json_macro` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `esri_json_macro`
[INFO] [stdout]    --> src/js_sdk/graphic.rs:227:9
[INFO] [stdout]     |
[INFO] [stdout] 227 |     use esri_json_macro::test_all_coord_types;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `esri_json_macro`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `esri_json_macro`, use `cargo add esri_json_macro` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `case` in this scope
[INFO] [stdout]    --> src/geometry/point.rs:115:20
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn points<C>(#[case] _phantom: std::marker::PhantomData<C>) {
[INFO] [stdout]     |                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `empty` in this scope
[INFO] [stdout]   --> src/geometry/polygon.rs:64:52
[INFO] [stdout]    |
[INFO] [stdout] 64 |         let de: Polygon<C> = serde_json::from_str(&empty()).unwrap();
[INFO] [stdout]    |                                                    ^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these functions
[INFO] [stdout]    |
[INFO] [stdout] 56 +     use std::io::empty;
[INFO] [stdout]    |
[INFO] [stdout] 56 +     use std::iter::empty;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `polygon` in this scope
[INFO] [stdout]    --> src/js_sdk/graphic.rs:248:61
[INFO] [stdout]     |
[INFO] [stdout] 248 |         let de: Graphic<Polygon<C>> = serde_json::from_str(&polygon()).unwrap();
[INFO] [stdout]     |                                                             ^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] note: function `crate::geometry::polygon::tests::polygon` exists but is inaccessible
[INFO] [stdout]    --> src/geometry/polygon.rs:71:5
[INFO] [stdout]     |
[INFO] [stdout]  71 |     fn polygon<T>() {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^ not accessible
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::CoordNumber`
[INFO] [stdout]   --> src/geometry/multipoint.rs:54:9
[INFO] [stdout]    |
[INFO] [stdout] 54 |     use crate::CoordNumber;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::CoordNumber`
[INFO] [stdout]    --> src/geometry/point.rs:109:9
[INFO] [stdout]     |
[INFO] [stdout] 109 |     use crate::CoordNumber;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::geometry::*`
[INFO] [stdout]    --> src/geometry/point.rs:110:9
[INFO] [stdout]     |
[INFO] [stdout] 110 |     use crate::geometry::*;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::CoordNumber`
[INFO] [stdout]   --> src/geometry/polygon.rs:57:9
[INFO] [stdout]    |
[INFO] [stdout] 57 |     use crate::CoordNumber;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]   --> src/geometry/polyline.rs:54:9
[INFO] [stdout]    |
[INFO] [stdout] 54 |     use super::*;
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::CoordNumber`
[INFO] [stdout]   --> src/geometry/polyline.rs:55:9
[INFO] [stdout]    |
[INFO] [stdout] 55 |     use crate::CoordNumber;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::geometry::*`
[INFO] [stdout]   --> src/geometry/polyline.rs:56:9
[INFO] [stdout]    |
[INFO] [stdout] 56 |     use crate::geometry::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::CoordNumber`
[INFO] [stdout]    --> src/js_sdk/graphic.rs:225:9
[INFO] [stdout]     |
[INFO] [stdout] 225 |     use crate::CoordNumber;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]   --> src/webscene/common/line_pattern.rs:43:9
[INFO] [stdout]    |
[INFO] [stdout] 43 |     use super::*;
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `xy` in this scope
[INFO] [stdout]   --> src/geometry/multipoint.rs:61:18
[INFO] [stdout]    |
[INFO] [stdout] 61 |         let xy = xy();
[INFO] [stdout]    |                  ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: CoordNumber` is not satisfied
[INFO] [stdout]   --> src/geometry/multipoint.rs:63:17
[INFO] [stdout]    |
[INFO] [stdout] 63 |         let de: MultiPoint<CoordXy<T>> = serde_json::from_str(&xy).unwrap();
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^ the trait `CoordNumber` is not implemented for `T`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `xy::CoordXy`
[INFO] [stdout]   --> src/geometry/coord/xy.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct CoordXy<T>
[INFO] [stdout]    |            ------- required by a bound in this struct
[INFO] [stdout] 10 | where
[INFO] [stdout] 11 |     T: CoordNumber,
[INFO] [stdout]    |        ^^^^^^^^^^^ required by this bound in `CoordXy`
[INFO] [stdout] help: consider restricting type parameter `T` with trait `CoordNumber`
[INFO] [stdout]    |
[INFO] [stdout] 60 |     fn multipoint_xy<T: CoordNumber>() {
[INFO] [stdout]    |                       +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: CoordNumber` is not satisfied
[INFO] [stdout]   --> src/geometry/multipoint.rs:63:42
[INFO] [stdout]    |
[INFO] [stdout] 63 |         let de: MultiPoint<CoordXy<T>> = serde_json::from_str(&xy).unwrap();
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `CoordNumber` is not implemented for `T`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `xy::CoordXy`
[INFO] [stdout]   --> src/geometry/coord/xy.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct CoordXy<T>
[INFO] [stdout]    |            ------- required by a bound in this struct
[INFO] [stdout] 10 | where
[INFO] [stdout] 11 |     T: CoordNumber,
[INFO] [stdout]    |        ^^^^^^^^^^^ required by this bound in `CoordXy`
[INFO] [stdout] help: consider restricting type parameter `T` with trait `CoordNumber`
[INFO] [stdout]    |
[INFO] [stdout] 60 |     fn multipoint_xy<T: CoordNumber>() {
[INFO] [stdout]    |                       +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: CoordNumber` is not satisfied
[INFO] [stdout]   --> src/geometry/multipoint.rs:63:42
[INFO] [stdout]    |
[INFO] [stdout] 63 |         let de: MultiPoint<CoordXy<T>> = serde_json::from_str(&xy).unwrap();
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^^^ the trait `CoordNumber` is not implemented for `T`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `xy::CoordXy`
[INFO] [stdout]   --> src/geometry/coord/xy.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct CoordXy<T>
[INFO] [stdout]    |            ------- required by a bound in this struct
[INFO] [stdout] 10 | where
[INFO] [stdout] 11 |     T: CoordNumber,
[INFO] [stdout]    |        ^^^^^^^^^^^ required by this bound in `CoordXy`
[INFO] [stdout] help: consider restricting type parameter `T` with trait `CoordNumber`
[INFO] [stdout]    |
[INFO] [stdout] 60 |     fn multipoint_xy<T: CoordNumber>() {
[INFO] [stdout]    |                       +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: serde::Deserialize<'de>` is not satisfied
[INFO] [stdout]     --> src/geometry/multipoint.rs:63:42
[INFO] [stdout]      |
[INFO] [stdout]   63 |         let de: MultiPoint<CoordXy<T>> = serde_json::from_str(&xy).unwrap();
[INFO] [stdout]      |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `common::_::_serde::Deserialize<'_>` is not implemented for `T`
[INFO] [stdout]      |
[INFO] [stdout]      = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `T` type
[INFO] [stdout]      = note: for types from other crates check whether the crate offers a `serde` feature flag
[INFO] [stdout] note: required for `xy::CoordXy<T>` to implement `common::_::_serde::Deserialize<'_>`
[INFO] [stdout]     --> src/geometry/coord/xy.rs:9:12
[INFO] [stdout]      |
[INFO] [stdout]    7 | #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Copy)]
[INFO] [stdout]      |                     ----------- type parameter would need to implement `common::_::_serde::Deserialize<'_>`
[INFO] [stdout]    8 | #[serde(into = "[T;2]", from = "Vec<T>")]
[INFO] [stdout]    9 | pub struct CoordXy<T>
[INFO] [stdout]      |            ^^^^^^^^^^
[INFO] [stdout]      = help: consider manually implementing `common::_::_serde::Deserialize<'_>` to avoid undesired bounds
[INFO] [stdout]      = note: 1 redundant requirement hidden
[INFO] [stdout]      = note: required for `multipoint::MultiPoint<xy::CoordXy<T>>` to implement `common::_::_serde::Deserialize<'_>`
[INFO] [stdout] note: required by a bound in `serde_json::from_str`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/de.rs:2701:8
[INFO] [stdout]      |
[INFO] [stdout] 2699 | pub fn from_str<'a, T>(s: &'a str) -> Result<T>
[INFO] [stdout]      |        -------- required by a bound in this function
[INFO] [stdout] 2700 | where
[INFO] [stdout] 2701 |     T: de::Deserialize<'a>,
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^ required by this bound in `from_str`
[INFO] [stdout] help: consider restricting type parameter `T` with trait `Deserialize`
[INFO] [stdout]      |
[INFO] [stdout]   60 |     fn multipoint_xy<T: common::_::_serde::Deserialize<'_>>() {
[INFO] [stdout]      |                       ++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: CoordNumber` is not satisfied
[INFO] [stdout]   --> src/geometry/multipoint.rs:64:19
[INFO] [stdout]    |
[INFO] [stdout] 64 |         let ser = serde_json::to_string(&de).unwrap();
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^ the trait `CoordNumber` is not implemented for `T`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `xy::CoordXy`
[INFO] [stdout]   --> src/geometry/coord/xy.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct CoordXy<T>
[INFO] [stdout]    |            ------- required by a bound in this struct
[INFO] [stdout] 10 | where
[INFO] [stdout] 11 |     T: CoordNumber,
[INFO] [stdout]    |        ^^^^^^^^^^^ required by this bound in `CoordXy`
[INFO] [stdout] help: consider restricting type parameter `T` with trait `CoordNumber`
[INFO] [stdout]    |
[INFO] [stdout] 60 |     fn multipoint_xy<T: CoordNumber>() {
[INFO] [stdout]    |                       +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: serde::Serialize` is not satisfied
[INFO] [stdout]     --> src/geometry/multipoint.rs:64:41
[INFO] [stdout]      |
[INFO] [stdout]   64 |         let ser = serde_json::to_string(&de).unwrap();
[INFO] [stdout]      |                   --------------------- ^^^ the trait `common::_::_serde::Serialize` is not implemented for `T`
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout]      = note: for local types consider adding `#[derive(serde::Serialize)]` to your `T` type
[INFO] [stdout]      = note: for types from other crates check whether the crate offers a `serde` feature flag
[INFO] [stdout] note: required for `xy::CoordXy<T>` to implement `common::_::_serde::Serialize`
[INFO] [stdout]     --> src/geometry/coord/xy.rs:9:12
[INFO] [stdout]      |
[INFO] [stdout]    7 | #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Copy)]
[INFO] [stdout]      |          --------- type parameter would need to implement `common::_::_serde::Serialize`
[INFO] [stdout]    8 | #[serde(into = "[T;2]", from = "Vec<T>")]
[INFO] [stdout]    9 | pub struct CoordXy<T>
[INFO] [stdout]      |            ^^^^^^^^^^
[INFO] [stdout]      = help: consider manually implementing `common::_::_serde::Serialize` to avoid undesired bounds
[INFO] [stdout]      = note: 1 redundant requirement hidden
[INFO] [stdout]      = note: required for `multipoint::MultiPoint<xy::CoordXy<T>>` to implement `common::_::_serde::Serialize`
[INFO] [stdout] note: required by a bound in `serde_json::to_string`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/ser.rs:2247:17
[INFO] [stdout]      |
[INFO] [stdout] 2245 | pub fn to_string<T>(value: &T) -> Result<String>
[INFO] [stdout]      |        --------- required by a bound in this function
[INFO] [stdout] 2246 | where
[INFO] [stdout] 2247 |     T: ?Sized + Serialize,
[INFO] [stdout]      |                 ^^^^^^^^^ required by this bound in `to_string`
[INFO] [stdout] help: consider restricting type parameter `T` with trait `Serialize`
[INFO] [stdout]      |
[INFO] [stdout]   60 |     fn multipoint_xy<T: common::_::_serde::Serialize>() {
[INFO] [stdout]      |                       ++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: CoordNumber` is not satisfied
[INFO] [stdout]   --> src/geometry/multipoint.rs:65:20
[INFO] [stdout]    |
[INFO] [stdout] 65 |         let serde: MultiPoint<CoordXy<T>> = serde_json::from_str(&ser).unwrap();
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^ the trait `CoordNumber` is not implemented for `T`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `xy::CoordXy`
[INFO] [stdout]   --> src/geometry/coord/xy.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct CoordXy<T>
[INFO] [stdout]    |            ------- required by a bound in this struct
[INFO] [stdout] 10 | where
[INFO] [stdout] 11 |     T: CoordNumber,
[INFO] [stdout]    |        ^^^^^^^^^^^ required by this bound in `CoordXy`
[INFO] [stdout] help: consider restricting type parameter `T` with trait `CoordNumber`
[INFO] [stdout]    |
[INFO] [stdout] 60 |     fn multipoint_xy<T: CoordNumber>() {
[INFO] [stdout]    |                       +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: CoordNumber` is not satisfied
[INFO] [stdout]   --> src/geometry/multipoint.rs:65:45
[INFO] [stdout]    |
[INFO] [stdout] 65 |         let serde: MultiPoint<CoordXy<T>> = serde_json::from_str(&ser).unwrap();
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `CoordNumber` is not implemented for `T`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `xy::CoordXy`
[INFO] [stdout]   --> src/geometry/coord/xy.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct CoordXy<T>
[INFO] [stdout]    |            ------- required by a bound in this struct
[INFO] [stdout] 10 | where
[INFO] [stdout] 11 |     T: CoordNumber,
[INFO] [stdout]    |        ^^^^^^^^^^^ required by this bound in `CoordXy`
[INFO] [stdout] help: consider restricting type parameter `T` with trait `CoordNumber`
[INFO] [stdout]    |
[INFO] [stdout] 60 |     fn multipoint_xy<T: CoordNumber>() {
[INFO] [stdout]    |                       +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: CoordNumber` is not satisfied
[INFO] [stdout]   --> src/geometry/multipoint.rs:65:45
[INFO] [stdout]    |
[INFO] [stdout] 65 |         let serde: MultiPoint<CoordXy<T>> = serde_json::from_str(&ser).unwrap();
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^^^^^^^^ the trait `CoordNumber` is not implemented for `T`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `xy::CoordXy`
[INFO] [stdout]   --> src/geometry/coord/xy.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct CoordXy<T>
[INFO] [stdout]    |            ------- required by a bound in this struct
[INFO] [stdout] 10 | where
[INFO] [stdout] 11 |     T: CoordNumber,
[INFO] [stdout]    |        ^^^^^^^^^^^ required by this bound in `CoordXy`
[INFO] [stdout] help: consider restricting type parameter `T` with trait `CoordNumber`
[INFO] [stdout]    |
[INFO] [stdout] 60 |     fn multipoint_xy<T: CoordNumber>() {
[INFO] [stdout]    |                       +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: serde::Deserialize<'de>` is not satisfied
[INFO] [stdout]     --> src/geometry/multipoint.rs:65:45
[INFO] [stdout]      |
[INFO] [stdout]   65 |         let serde: MultiPoint<CoordXy<T>> = serde_json::from_str(&ser).unwrap();
[INFO] [stdout]      |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `common::_::_serde::Deserialize<'_>` is not implemented for `T`
[INFO] [stdout]      |
[INFO] [stdout]      = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `T` type
[INFO] [stdout]      = note: for types from other crates check whether the crate offers a `serde` feature flag
[INFO] [stdout] note: required for `xy::CoordXy<T>` to implement `common::_::_serde::Deserialize<'_>`
[INFO] [stdout]     --> src/geometry/coord/xy.rs:9:12
[INFO] [stdout]      |
[INFO] [stdout]    7 | #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Copy)]
[INFO] [stdout]      |                     ----------- type parameter would need to implement `common::_::_serde::Deserialize<'_>`
[INFO] [stdout]    8 | #[serde(into = "[T;2]", from = "Vec<T>")]
[INFO] [stdout]    9 | pub struct CoordXy<T>
[INFO] [stdout]      |            ^^^^^^^^^^
[INFO] [stdout]      = help: consider manually implementing `common::_::_serde::Deserialize<'_>` to avoid undesired bounds
[INFO] [stdout]      = note: 1 redundant requirement hidden
[INFO] [stdout]      = note: required for `multipoint::MultiPoint<xy::CoordXy<T>>` to implement `common::_::_serde::Deserialize<'_>`
[INFO] [stdout] note: required by a bound in `serde_json::from_str`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/de.rs:2701:8
[INFO] [stdout]      |
[INFO] [stdout] 2699 | pub fn from_str<'a, T>(s: &'a str) -> Result<T>
[INFO] [stdout]      |        -------- required by a bound in this function
[INFO] [stdout] 2700 | where
[INFO] [stdout] 2701 |     T: de::Deserialize<'a>,
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^ required by this bound in `from_str`
[INFO] [stdout] help: consider restricting type parameter `T` with trait `Deserialize`
[INFO] [stdout]      |
[INFO] [stdout]   60 |     fn multipoint_xy<T: common::_::_serde::Deserialize<'_>>() {
[INFO] [stdout]      |                       ++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `multipoint::MultiPoint<xy::CoordXy<T>>`
[INFO] [stdout]   --> src/geometry/multipoint.rs:66:9
[INFO] [stdout]    |
[INFO] [stdout] 66 |         assert_eq!(serde, de);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         multipoint::MultiPoint<xy::CoordXy<T>>
[INFO] [stdout]    |         multipoint::MultiPoint<xy::CoordXy<T>>
[INFO] [stdout]    |
[INFO] [stdout] help: consider restricting type parameter `T` with trait `PartialEq`
[INFO] [stdout]    |
[INFO] [stdout] 60 |     fn multipoint_xy<T: std::cmp::PartialEq>() {
[INFO] [stdout]    |                       +++++++++++++++++++++
[INFO] [stdout] help: consider restricting type parameter `T` with trait `CoordNumber`
[INFO] [stdout]    |
[INFO] [stdout] 60 |     fn multipoint_xy<T: CoordNumber>() {
[INFO] [stdout]    |                       +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: CoordNumber` is not satisfied
[INFO] [stdout]   --> src/geometry/multipoint.rs:66:9
[INFO] [stdout]    |
[INFO] [stdout] 66 |         assert_eq!(serde, de);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^ the trait `CoordNumber` is not implemented for `T`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `xy::CoordXy`
[INFO] [stdout]   --> src/geometry/coord/xy.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct CoordXy<T>
[INFO] [stdout]    |            ------- required by a bound in this struct
[INFO] [stdout] 10 | where
[INFO] [stdout] 11 |     T: CoordNumber,
[INFO] [stdout]    |        ^^^^^^^^^^^ required by this bound in `CoordXy`
[INFO] [stdout] help: consider restricting type parameter `T` with trait `CoordNumber`
[INFO] [stdout]    |
[INFO] [stdout] 60 |     fn multipoint_xy<T: CoordNumber>() {
[INFO] [stdout]    |                       +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `T` doesn't implement `Debug`
[INFO] [stdout]   --> src/geometry/multipoint.rs:66:9
[INFO] [stdout]    |
[INFO] [stdout] 66 |         assert_eq!(serde, de);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^ the trait `Debug` is not implemented for `T`
[INFO] [stdout]    |
[INFO] [stdout] help: consider restricting type parameter `T` with trait `Debug`
[INFO] [stdout]    |
[INFO] [stdout] 60 |     fn multipoint_xy<T: std::fmt::Debug>() {
[INFO] [stdout]    |                       +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `T` doesn't implement `Debug`
[INFO] [stdout]   --> src/geometry/multipoint.rs:66:9
[INFO] [stdout]    |
[INFO] [stdout] 66 |         assert_eq!(serde, de);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^ the trait `Debug` is not implemented for `T`
[INFO] [stdout]    |
[INFO] [stdout] help: consider restricting type parameter `T` with trait `Debug`
[INFO] [stdout]    |
[INFO] [stdout] 60 |     fn multipoint_xy<T: std::fmt::Debug>() {
[INFO] [stdout]    |                       +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `xyz` in this scope
[INFO] [stdout]   --> src/geometry/multipoint.rs:71:19
[INFO] [stdout]    |
[INFO] [stdout] 71 |         let xyz = xyz();
[INFO] [stdout]    |                   ^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: CoordNumber` is not satisfied
[INFO] [stdout]   --> src/geometry/multipoint.rs:73:17
[INFO] [stdout]    |
[INFO] [stdout] 73 |         let de: MultiPoint<CoordXyz<T>> = serde_json::from_str(&xyz).unwrap();
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^ the trait `CoordNumber` is not implemented for `T`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `xyz::CoordXyz`
[INFO] [stdout]   --> src/geometry/coord/xyz.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct CoordXyz<T>
[INFO] [stdout]    |            -------- required by a bound in this struct
[INFO] [stdout] 10 | where
[INFO] [stdout] 11 |     T: CoordNumber,
[INFO] [stdout]    |        ^^^^^^^^^^^ required by this bound in `CoordXyz`
[INFO] [stdout] help: consider restricting type parameter `T` with trait `CoordNumber`
[INFO] [stdout]    |
[INFO] [stdout] 70 |     fn multipoint_xyz<T: CoordNumber>() {
[INFO] [stdout]    |                        +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: CoordNumber` is not satisfied
[INFO] [stdout]   --> src/geometry/multipoint.rs:73:43
[INFO] [stdout]    |
[INFO] [stdout] 73 |         let de: MultiPoint<CoordXyz<T>> = serde_json::from_str(&xyz).unwrap();
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `CoordNumber` is not implemented for `T`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `xyz::CoordXyz`
[INFO] [stdout]   --> src/geometry/coord/xyz.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct CoordXyz<T>
[INFO] [stdout]    |            -------- required by a bound in this struct
[INFO] [stdout] 10 | where
[INFO] [stdout] 11 |     T: CoordNumber,
[INFO] [stdout]    |        ^^^^^^^^^^^ required by this bound in `CoordXyz`
[INFO] [stdout] help: consider restricting type parameter `T` with trait `CoordNumber`
[INFO] [stdout]    |
[INFO] [stdout] 70 |     fn multipoint_xyz<T: CoordNumber>() {
[INFO] [stdout]    |                        +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: CoordNumber` is not satisfied
[INFO] [stdout]   --> src/geometry/multipoint.rs:73:43
[INFO] [stdout]    |
[INFO] [stdout] 73 |         let de: MultiPoint<CoordXyz<T>> = serde_json::from_str(&xyz).unwrap();
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^^^^^ the trait `CoordNumber` is not implemented for `T`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `xyz::CoordXyz`
[INFO] [stdout]   --> src/geometry/coord/xyz.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct CoordXyz<T>
[INFO] [stdout]    |            -------- required by a bound in this struct
[INFO] [stdout] 10 | where
[INFO] [stdout] 11 |     T: CoordNumber,
[INFO] [stdout]    |        ^^^^^^^^^^^ required by this bound in `CoordXyz`
[INFO] [stdout] help: consider restricting type parameter `T` with trait `CoordNumber`
[INFO] [stdout]    |
[INFO] [stdout] 70 |     fn multipoint_xyz<T: CoordNumber>() {
[INFO] [stdout]    |                        +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: serde::Deserialize<'de>` is not satisfied
[INFO] [stdout]     --> src/geometry/multipoint.rs:73:43
[INFO] [stdout]      |
[INFO] [stdout]   73 |         let de: MultiPoint<CoordXyz<T>> = serde_json::from_str(&xyz).unwrap();
[INFO] [stdout]      |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `common::_::_serde::Deserialize<'_>` is not implemented for `T`
[INFO] [stdout]      |
[INFO] [stdout]      = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `T` type
[INFO] [stdout]      = note: for types from other crates check whether the crate offers a `serde` feature flag
[INFO] [stdout] note: required for `xyz::CoordXyz<T>` to implement `common::_::_serde::Deserialize<'_>`
[INFO] [stdout]     --> src/geometry/coord/xyz.rs:9:12
[INFO] [stdout]      |
[INFO] [stdout]    7 | #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Copy)]
[INFO] [stdout]      |                     ----------- type parameter would need to implement `common::_::_serde::Deserialize<'_>`
[INFO] [stdout]    8 | #[serde(into = "[T;3]", from = "Vec<T>")]
[INFO] [stdout]    9 | pub struct CoordXyz<T>
[INFO] [stdout]      |            ^^^^^^^^^^^
[INFO] [stdout]      = help: consider manually implementing `common::_::_serde::Deserialize<'_>` to avoid undesired bounds
[INFO] [stdout]      = note: 1 redundant requirement hidden
[INFO] [stdout]      = note: required for `multipoint::MultiPoint<xyz::CoordXyz<T>>` to implement `common::_::_serde::Deserialize<'_>`
[INFO] [stdout] note: required by a bound in `serde_json::from_str`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/de.rs:2701:8
[INFO] [stdout]      |
[INFO] [stdout] 2699 | pub fn from_str<'a, T>(s: &'a str) -> Result<T>
[INFO] [stdout]      |        -------- required by a bound in this function
[INFO] [stdout] 2700 | where
[INFO] [stdout] 2701 |     T: de::Deserialize<'a>,
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^ required by this bound in `from_str`
[INFO] [stdout] help: consider restricting type parameter `T` with trait `Deserialize`
[INFO] [stdout]      |
[INFO] [stdout]   70 |     fn multipoint_xyz<T: common::_::_serde::Deserialize<'_>>() {
[INFO] [stdout]      |                        ++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: CoordNumber` is not satisfied
[INFO] [stdout]   --> src/geometry/multipoint.rs:74:19
[INFO] [stdout]    |
[INFO] [stdout] 74 |         let ser = serde_json::to_string(&de).unwrap();
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^ the trait `CoordNumber` is not implemented for `T`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `xyz::CoordXyz`
[INFO] [stdout]   --> src/geometry/coord/xyz.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct CoordXyz<T>
[INFO] [stdout]    |            -------- required by a bound in this struct
[INFO] [stdout] 10 | where
[INFO] [stdout] 11 |     T: CoordNumber,
[INFO] [stdout]    |        ^^^^^^^^^^^ required by this bound in `CoordXyz`
[INFO] [stdout] help: consider restricting type parameter `T` with trait `CoordNumber`
[INFO] [stdout]    |
[INFO] [stdout] 70 |     fn multipoint_xyz<T: CoordNumber>() {
[INFO] [stdout]    |                        +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: serde::Serialize` is not satisfied
[INFO] [stdout]     --> src/geometry/multipoint.rs:74:41
[INFO] [stdout]      |
[INFO] [stdout]   74 |         let ser = serde_json::to_string(&de).unwrap();
[INFO] [stdout]      |                   --------------------- ^^^ the trait `common::_::_serde::Serialize` is not implemented for `T`
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout]      = note: for local types consider adding `#[derive(serde::Serialize)]` to your `T` type
[INFO] [stdout]      = note: for types from other crates check whether the crate offers a `serde` feature flag
[INFO] [stdout] note: required for `xyz::CoordXyz<T>` to implement `common::_::_serde::Serialize`
[INFO] [stdout]     --> src/geometry/coord/xyz.rs:9:12
[INFO] [stdout]      |
[INFO] [stdout]    7 | #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Copy)]
[INFO] [stdout]      |          --------- type parameter would need to implement `common::_::_serde::Serialize`
[INFO] [stdout]    8 | #[serde(into = "[T;3]", from = "Vec<T>")]
[INFO] [stdout]    9 | pub struct CoordXyz<T>
[INFO] [stdout]      |            ^^^^^^^^^^^
[INFO] [stdout]      = help: consider manually implementing `common::_::_serde::Serialize` to avoid undesired bounds
[INFO] [stdout]      = note: 1 redundant requirement hidden
[INFO] [stdout]      = note: required for `multipoint::MultiPoint<xyz::CoordXyz<T>>` to implement `common::_::_serde::Serialize`
[INFO] [stdout] note: required by a bound in `serde_json::to_string`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/ser.rs:2247:17
[INFO] [stdout]      |
[INFO] [stdout] 2245 | pub fn to_string<T>(value: &T) -> Result<String>
[INFO] [stdout]      |        --------- required by a bound in this function
[INFO] [stdout] 2246 | where
[INFO] [stdout] 2247 |     T: ?Sized + Serialize,
[INFO] [stdout]      |                 ^^^^^^^^^ required by this bound in `to_string`
[INFO] [stdout] help: consider restricting type parameter `T` with trait `Serialize`
[INFO] [stdout]      |
[INFO] [stdout]   70 |     fn multipoint_xyz<T: common::_::_serde::Serialize>() {
[INFO] [stdout]      |                        ++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: CoordNumber` is not satisfied
[INFO] [stdout]   --> src/geometry/multipoint.rs:75:20
[INFO] [stdout]    |
[INFO] [stdout] 75 |         let serde: MultiPoint<CoordXyz<T>> = serde_json::from_str(&ser).unwrap();
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^ the trait `CoordNumber` is not implemented for `T`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `xyz::CoordXyz`
[INFO] [stdout]   --> src/geometry/coord/xyz.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct CoordXyz<T>
[INFO] [stdout]    |            -------- required by a bound in this struct
[INFO] [stdout] 10 | where
[INFO] [stdout] 11 |     T: CoordNumber,
[INFO] [stdout]    |        ^^^^^^^^^^^ required by this bound in `CoordXyz`
[INFO] [stdout] help: consider restricting type parameter `T` with trait `CoordNumber`
[INFO] [stdout]    |
[INFO] [stdout] 70 |     fn multipoint_xyz<T: CoordNumber>() {
[INFO] [stdout]    |                        +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: CoordNumber` is not satisfied
[INFO] [stdout]   --> src/geometry/multipoint.rs:75:46
[INFO] [stdout]    |
[INFO] [stdout] 75 |         let serde: MultiPoint<CoordXyz<T>> = serde_json::from_str(&ser).unwrap();
[INFO] [stdout]    |                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `CoordNumber` is not implemented for `T`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `xyz::CoordXyz`
[INFO] [stdout]   --> src/geometry/coord/xyz.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct CoordXyz<T>
[INFO] [stdout]    |            -------- required by a bound in this struct
[INFO] [stdout] 10 | where
[INFO] [stdout] 11 |     T: CoordNumber,
[INFO] [stdout]    |        ^^^^^^^^^^^ required by this bound in `CoordXyz`
[INFO] [stdout] help: consider restricting type parameter `T` with trait `CoordNumber`
[INFO] [stdout]    |
[INFO] [stdout] 70 |     fn multipoint_xyz<T: CoordNumber>() {
[INFO] [stdout]    |                        +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: CoordNumber` is not satisfied
[INFO] [stdout]   --> src/geometry/multipoint.rs:75:46
[INFO] [stdout]    |
[INFO] [stdout] 75 |         let serde: MultiPoint<CoordXyz<T>> = serde_json::from_str(&ser).unwrap();
[INFO] [stdout]    |                                              ^^^^^^^^^^^^^^^^^^^^ the trait `CoordNumber` is not implemented for `T`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `xyz::CoordXyz`
[INFO] [stdout]   --> src/geometry/coord/xyz.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct CoordXyz<T>
[INFO] [stdout]    |            -------- required by a bound in this struct
[INFO] [stdout] 10 | where
[INFO] [stdout] 11 |     T: CoordNumber,
[INFO] [stdout]    |        ^^^^^^^^^^^ required by this bound in `CoordXyz`
[INFO] [stdout] help: consider restricting type parameter `T` with trait `CoordNumber`
[INFO] [stdout]    |
[INFO] [stdout] 70 |     fn multipoint_xyz<T: CoordNumber>() {
[INFO] [stdout]    |                        +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: serde::Deserialize<'de>` is not satisfied
[INFO] [stdout]     --> src/geometry/multipoint.rs:75:46
[INFO] [stdout]      |
[INFO] [stdout]   75 |         let serde: MultiPoint<CoordXyz<T>> = serde_json::from_str(&ser).unwrap();
[INFO] [stdout]      |                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `common::_::_serde::Deserialize<'_>` is not implemented for `T`
[INFO] [stdout]      |
[INFO] [stdout]      = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `T` type
[INFO] [stdout]      = note: for types from other crates check whether the crate offers a `serde` feature flag
[INFO] [stdout] note: required for `xyz::CoordXyz<T>` to implement `common::_::_serde::Deserialize<'_>`
[INFO] [stdout]     --> src/geometry/coord/xyz.rs:9:12
[INFO] [stdout]      |
[INFO] [stdout]    7 | #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Copy)]
[INFO] [stdout]      |                     ----------- type parameter would need to implement `common::_::_serde::Deserialize<'_>`
[INFO] [stdout]    8 | #[serde(into = "[T;3]", from = "Vec<T>")]
[INFO] [stdout]    9 | pub struct CoordXyz<T>
[INFO] [stdout]      |            ^^^^^^^^^^^
[INFO] [stdout]      = help: consider manually implementing `common::_::_serde::Deserialize<'_>` to avoid undesired bounds
[INFO] [stdout]      = note: 1 redundant requirement hidden
[INFO] [stdout]      = note: required for `multipoint::MultiPoint<xyz::CoordXyz<T>>` to implement `common::_::_serde::Deserialize<'_>`
[INFO] [stdout] note: required by a bound in `serde_json::from_str`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/de.rs:2701:8
[INFO] [stdout]      |
[INFO] [stdout] 2699 | pub fn from_str<'a, T>(s: &'a str) -> Result<T>
[INFO] [stdout]      |        -------- required by a bound in this function
[INFO] [stdout] 2700 | where
[INFO] [stdout] 2701 |     T: de::Deserialize<'a>,
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^ required by this bound in `from_str`
[INFO] [stdout] help: consider restricting type parameter `T` with trait `Deserialize`
[INFO] [stdout]      |
[INFO] [stdout]   70 |     fn multipoint_xyz<T: common::_::_serde::Deserialize<'_>>() {
[INFO] [stdout]      |                        ++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `multipoint::MultiPoint<xyz::CoordXyz<T>>`
[INFO] [stdout]   --> src/geometry/multipoint.rs:76:9
[INFO] [stdout]    |
[INFO] [stdout] 76 |         assert_eq!(serde, de);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         multipoint::MultiPoint<xyz::CoordXyz<T>>
[INFO] [stdout]    |         multipoint::MultiPoint<xyz::CoordXyz<T>>
[INFO] [stdout]    |
[INFO] [stdout] help: consider restricting type parameter `T` with trait `PartialEq`
[INFO] [stdout]    |
[INFO] [stdout] 70 |     fn multipoint_xyz<T: std::cmp::PartialEq>() {
[INFO] [stdout]    |                        +++++++++++++++++++++
[INFO] [stdout] help: consider restricting type parameter `T` with trait `CoordNumber`
[INFO] [stdout]    |
[INFO] [stdout] 70 |     fn multipoint_xyz<T: CoordNumber>() {
[INFO] [stdout]    |                        +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: CoordNumber` is not satisfied
[INFO] [stdout]   --> src/geometry/multipoint.rs:76:9
[INFO] [stdout]    |
[INFO] [stdout] 76 |         assert_eq!(serde, de);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^ the trait `CoordNumber` is not implemented for `T`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `xyz::CoordXyz`
[INFO] [stdout]   --> src/geometry/coord/xyz.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct CoordXyz<T>
[INFO] [stdout]    |            -------- required by a bound in this struct
[INFO] [stdout] 10 | where
[INFO] [stdout] 11 |     T: CoordNumber,
[INFO] [stdout]    |        ^^^^^^^^^^^ required by this bound in `CoordXyz`
[INFO] [stdout] help: consider restricting type parameter `T` with trait `CoordNumber`
[INFO] [stdout]    |
[INFO] [stdout] 70 |     fn multipoint_xyz<T: CoordNumber>() {
[INFO] [stdout]    |                        +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `T` doesn't implement `Debug`
[INFO] [stdout]   --> src/geometry/multipoint.rs:76:9
[INFO] [stdout]    |
[INFO] [stdout] 76 |         assert_eq!(serde, de);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^ the trait `Debug` is not implemented for `T`
[INFO] [stdout]    |
[INFO] [stdout] help: consider restricting type parameter `T` with trait `Debug`
[INFO] [stdout]    |
[INFO] [stdout] 70 |     fn multipoint_xyz<T: std::fmt::Debug>() {
[INFO] [stdout]    |                        +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `T` doesn't implement `Debug`
[INFO] [stdout]   --> src/geometry/multipoint.rs:76:9
[INFO] [stdout]    |
[INFO] [stdout] 76 |         assert_eq!(serde, de);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^ the trait `Debug` is not implemented for `T`
[INFO] [stdout]    |
[INFO] [stdout] help: consider restricting type parameter `T` with trait `Debug`
[INFO] [stdout]    |
[INFO] [stdout] 70 |     fn multipoint_xyz<T: std::fmt::Debug>() {
[INFO] [stdout]    |                        +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `point_xy` in this scope
[INFO] [stdout]    --> src/geometry/point.rs:116:18
[INFO] [stdout]     |
[INFO] [stdout] 116 |         let xy = point_xy();
[INFO] [stdout]     |                  ^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `point_xyz` in this scope
[INFO] [stdout]    --> src/geometry/point.rs:117:19
[INFO] [stdout]     |
[INFO] [stdout] 117 |         let xyz = point_xyz();
[INFO] [stdout]     |                   ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `point_xym` in this scope
[INFO] [stdout]    --> src/geometry/point.rs:118:19
[INFO] [stdout]     |
[INFO] [stdout] 118 |         let xym = point_xym();
[INFO] [stdout]     |                   ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `point_xyzm` in this scope
[INFO] [stdout]    --> src/geometry/point.rs:119:20
[INFO] [stdout]     |
[INFO] [stdout] 119 |         let xyzm = point_xyzm();
[INFO] [stdout]     |                    ^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `C: Coord` is not satisfied
[INFO] [stdout]    --> src/geometry/point.rs:121:17
[INFO] [stdout]     |
[INFO] [stdout] 121 |         let de: Point<C> = serde_json::from_str(&xy).unwrap();
[INFO] [stdout]     |                 ^^^^^^^^ the trait `Coord` is not implemented for `C`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `point::Point`
[INFO] [stdout]    --> src/geometry/point.rs:15:21
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Point<C: Coord> {
[INFO] [stdout]     |                     ^^^^^ required by this bound in `Point`
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Coord`
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn points<C: geometry::coord::Coord>(#[case] _phantom: std::marker::PhantomData<C>) {
[INFO] [stdout]     |                ++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `C: Coord` is not satisfied
[INFO] [stdout]    --> src/geometry/point.rs:121:28
[INFO] [stdout]     |
[INFO] [stdout] 121 |         let de: Point<C> = serde_json::from_str(&xy).unwrap();
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Coord` is not implemented for `C`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `point::Point`
[INFO] [stdout]    --> src/geometry/point.rs:15:21
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Point<C: Coord> {
[INFO] [stdout]     |                     ^^^^^ required by this bound in `Point`
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Coord`
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn points<C: geometry::coord::Coord>(#[case] _phantom: std::marker::PhantomData<C>) {
[INFO] [stdout]     |                ++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `C: Coord` is not satisfied
[INFO] [stdout]     --> src/geometry/point.rs:121:28
[INFO] [stdout]      |
[INFO] [stdout]  121 |         let de: Point<C> = serde_json::from_str(&xy).unwrap();
[INFO] [stdout]      |                            ^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Coord` is not implemented for `C`
[INFO] [stdout]      |
[INFO] [stdout] note: required for `point::Point<C>` to implement `common::_::_serde::Deserialize<'_>`
[INFO] [stdout]     --> src/geometry/point.rs:15:12
[INFO] [stdout]      |
[INFO] [stdout]   15 | pub struct Point<C: Coord> {
[INFO] [stdout]      |            ^^^^^^^^^-----^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     unsatisfied trait bound
[INFO] [stdout]      = help: consider manually implementing `common::_::_serde::Deserialize<'_>` to avoid undesired bounds
[INFO] [stdout] note: required by a bound in `serde_json::from_str`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/de.rs:2701:8
[INFO] [stdout]      |
[INFO] [stdout] 2699 | pub fn from_str<'a, T>(s: &'a str) -> Result<T>
[INFO] [stdout]      |        -------- required by a bound in this function
[INFO] [stdout] 2700 | where
[INFO] [stdout] 2701 |     T: de::Deserialize<'a>,
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^ required by this bound in `from_str`
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Coord`
[INFO] [stdout]      |
[INFO] [stdout]  115 |     fn points<C: geometry::coord::Coord>(#[case] _phantom: std::marker::PhantomData<C>) {
[INFO] [stdout]      |                ++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `C: Coord` is not satisfied
[INFO] [stdout]     --> src/geometry/point.rs:122:41
[INFO] [stdout]      |
[INFO] [stdout]  122 |         let ser = serde_json::to_string(&de).unwrap();
[INFO] [stdout]      |                   --------------------- ^^^ the trait `Coord` is not implemented for `C`
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout] note: required for `point::Point<C>` to implement `common::_::_serde::Serialize`
[INFO] [stdout]     --> src/geometry/point.rs:15:12
[INFO] [stdout]      |
[INFO] [stdout]   15 | pub struct Point<C: Coord> {
[INFO] [stdout]      |            ^^^^^^^^^-----^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     unsatisfied trait bound
[INFO] [stdout]      = help: consider manually implementing `common::_::_serde::Serialize` to avoid undesired bounds
[INFO] [stdout] note: required by a bound in `serde_json::to_string`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/ser.rs:2247:17
[INFO] [stdout]      |
[INFO] [stdout] 2245 | pub fn to_string<T>(value: &T) -> Result<String>
[INFO] [stdout]      |        --------- required by a bound in this function
[INFO] [stdout] 2246 | where
[INFO] [stdout] 2247 |     T: ?Sized + Serialize,
[INFO] [stdout]      |                 ^^^^^^^^^ required by this bound in `to_string`
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Coord`
[INFO] [stdout]      |
[INFO] [stdout]  115 |     fn points<C: geometry::coord::Coord>(#[case] _phantom: std::marker::PhantomData<C>) {
[INFO] [stdout]      |                ++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `C: Coord` is not satisfied
[INFO] [stdout]    --> src/geometry/point.rs:123:20
[INFO] [stdout]     |
[INFO] [stdout] 123 |         let serde: Point<C> = serde_json::from_str(&ser).unwrap();
[INFO] [stdout]     |                    ^^^^^^^^ the trait `Coord` is not implemented for `C`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `point::Point`
[INFO] [stdout]    --> src/geometry/point.rs:15:21
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Point<C: Coord> {
[INFO] [stdout]     |                     ^^^^^ required by this bound in `Point`
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Coord`
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn points<C: geometry::coord::Coord>(#[case] _phantom: std::marker::PhantomData<C>) {
[INFO] [stdout]     |                ++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `C: Coord` is not satisfied
[INFO] [stdout]    --> src/geometry/point.rs:123:31
[INFO] [stdout]     |
[INFO] [stdout] 123 |         let serde: Point<C> = serde_json::from_str(&ser).unwrap();
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Coord` is not implemented for `C`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `point::Point`
[INFO] [stdout]    --> src/geometry/point.rs:15:21
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Point<C: Coord> {
[INFO] [stdout]     |                     ^^^^^ required by this bound in `Point`
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Coord`
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn points<C: geometry::coord::Coord>(#[case] _phantom: std::marker::PhantomData<C>) {
[INFO] [stdout]     |                ++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `C: Coord` is not satisfied
[INFO] [stdout]     --> src/geometry/point.rs:123:31
[INFO] [stdout]      |
[INFO] [stdout]  123 |         let serde: Point<C> = serde_json::from_str(&ser).unwrap();
[INFO] [stdout]      |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Coord` is not implemented for `C`
[INFO] [stdout]      |
[INFO] [stdout] note: required for `point::Point<C>` to implement `common::_::_serde::Deserialize<'_>`
[INFO] [stdout]     --> src/geometry/point.rs:15:12
[INFO] [stdout]      |
[INFO] [stdout]   15 | pub struct Point<C: Coord> {
[INFO] [stdout]      |            ^^^^^^^^^-----^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     unsatisfied trait bound
[INFO] [stdout]      = help: consider manually implementing `common::_::_serde::Deserialize<'_>` to avoid undesired bounds
[INFO] [stdout] note: required by a bound in `serde_json::from_str`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/de.rs:2701:8
[INFO] [stdout]      |
[INFO] [stdout] 2699 | pub fn from_str<'a, T>(s: &'a str) -> Result<T>
[INFO] [stdout]      |        -------- required by a bound in this function
[INFO] [stdout] 2700 | where
[INFO] [stdout] 2701 |     T: de::Deserialize<'a>,
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^ required by this bound in `from_str`
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Coord`
[INFO] [stdout]      |
[INFO] [stdout]  115 |     fn points<C: geometry::coord::Coord>(#[case] _phantom: std::marker::PhantomData<C>) {
[INFO] [stdout]      |                ++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `point::Point<C>`
[INFO] [stdout]    --> src/geometry/point.rs:124:9
[INFO] [stdout]     |
[INFO] [stdout] 124 |         assert_eq!(serde, de);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         point::Point<C>
[INFO] [stdout]     |         point::Point<C>
[INFO] [stdout]     |
[INFO] [stdout] help: consider restricting type parameter `C` with trait `PartialEq`
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn points<C: std::cmp::PartialEq>(#[case] _phantom: std::marker::PhantomData<C>) {
[INFO] [stdout]     |                +++++++++++++++++++++
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Coord`
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn points<C: geometry::coord::Coord>(#[case] _phantom: std::marker::PhantomData<C>) {
[INFO] [stdout]     |                ++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `C: Coord` is not satisfied
[INFO] [stdout]    --> src/geometry/point.rs:124:9
[INFO] [stdout]     |
[INFO] [stdout] 124 |         assert_eq!(serde, de);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         the trait `Coord` is not implemented for `C`
[INFO] [stdout]     |         required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] note: required for `point::Point<C>` to implement `Debug`
[INFO] [stdout]    --> src/geometry/point.rs:15:12
[INFO] [stdout]     |
[INFO] [stdout]   6 | #[derive(Serialize, Deserialize, Debug, Clone, PartialEq)]
[INFO] [stdout]     |                                  ----- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout]  15 | pub struct Point<C: Coord> {
[INFO] [stdout]     |            ^^^^^    ----- unsatisfied trait bound
[INFO] [stdout]     = help: consider manually implementing `Debug` to avoid undesired bounds
[INFO] [stdout] note: required by a bound in `core::panicking::assert_failed`
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/panicking.rs:384:0
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Coord`
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn points<C: geometry::coord::Coord>(#[case] _phantom: std::marker::PhantomData<C>) {
[INFO] [stdout]     |                ++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `C: Coord` is not satisfied
[INFO] [stdout]    --> src/geometry/point.rs:124:9
[INFO] [stdout]     |
[INFO] [stdout] 124 |         assert_eq!(serde, de);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         the trait `Coord` is not implemented for `C`
[INFO] [stdout]     |         required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] note: required for `point::Point<C>` to implement `Debug`
[INFO] [stdout]    --> src/geometry/point.rs:15:12
[INFO] [stdout]     |
[INFO] [stdout]   6 | #[derive(Serialize, Deserialize, Debug, Clone, PartialEq)]
[INFO] [stdout]     |                                  ----- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout]  15 | pub struct Point<C: Coord> {
[INFO] [stdout]     |            ^^^^^    ----- unsatisfied trait bound
[INFO] [stdout]     = help: consider manually implementing `Debug` to avoid undesired bounds
[INFO] [stdout] note: required by a bound in `core::panicking::assert_failed`
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/panicking.rs:384:0
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Coord`
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn points<C: geometry::coord::Coord>(#[case] _phantom: std::marker::PhantomData<C>) {
[INFO] [stdout]     |                ++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `C: Coord` is not satisfied
[INFO] [stdout]    --> src/geometry/point.rs:126:17
[INFO] [stdout]     |
[INFO] [stdout] 126 |         let de: Point<C> = serde_json::from_str(&xyz).unwrap();
[INFO] [stdout]     |                 ^^^^^^^^ the trait `Coord` is not implemented for `C`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `point::Point`
[INFO] [stdout]    --> src/geometry/point.rs:15:21
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Point<C: Coord> {
[INFO] [stdout]     |                     ^^^^^ required by this bound in `Point`
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Coord`
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn points<C: geometry::coord::Coord>(#[case] _phantom: std::marker::PhantomData<C>) {
[INFO] [stdout]     |                ++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `C: Coord` is not satisfied
[INFO] [stdout]    --> src/geometry/point.rs:126:28
[INFO] [stdout]     |
[INFO] [stdout] 126 |         let de: Point<C> = serde_json::from_str(&xyz).unwrap();
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Coord` is not implemented for `C`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `point::Point`
[INFO] [stdout]    --> src/geometry/point.rs:15:21
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Point<C: Coord> {
[INFO] [stdout]     |                     ^^^^^ required by this bound in `Point`
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Coord`
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn points<C: geometry::coord::Coord>(#[case] _phantom: std::marker::PhantomData<C>) {
[INFO] [stdout]     |                ++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `C: Coord` is not satisfied
[INFO] [stdout]     --> src/geometry/point.rs:126:28
[INFO] [stdout]      |
[INFO] [stdout]  126 |         let de: Point<C> = serde_json::from_str(&xyz).unwrap();
[INFO] [stdout]      |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Coord` is not implemented for `C`
[INFO] [stdout]      |
[INFO] [stdout] note: required for `point::Point<C>` to implement `common::_::_serde::Deserialize<'_>`
[INFO] [stdout]     --> src/geometry/point.rs:15:12
[INFO] [stdout]      |
[INFO] [stdout]   15 | pub struct Point<C: Coord> {
[INFO] [stdout]      |            ^^^^^^^^^-----^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     unsatisfied trait bound
[INFO] [stdout]      = help: consider manually implementing `common::_::_serde::Deserialize<'_>` to avoid undesired bounds
[INFO] [stdout] note: required by a bound in `serde_json::from_str`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/de.rs:2701:8
[INFO] [stdout]      |
[INFO] [stdout] 2699 | pub fn from_str<'a, T>(s: &'a str) -> Result<T>
[INFO] [stdout]      |        -------- required by a bound in this function
[INFO] [stdout] 2700 | where
[INFO] [stdout] 2701 |     T: de::Deserialize<'a>,
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^ required by this bound in `from_str`
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Coord`
[INFO] [stdout]      |
[INFO] [stdout]  115 |     fn points<C: geometry::coord::Coord>(#[case] _phantom: std::marker::PhantomData<C>) {
[INFO] [stdout]      |                ++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `C: Coord` is not satisfied
[INFO] [stdout]     --> src/geometry/point.rs:127:41
[INFO] [stdout]      |
[INFO] [stdout]  127 |         let ser = serde_json::to_string(&de).unwrap();
[INFO] [stdout]      |                   --------------------- ^^^ the trait `Coord` is not implemented for `C`
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout] note: required for `point::Point<C>` to implement `common::_::_serde::Serialize`
[INFO] [stdout]     --> src/geometry/point.rs:15:12
[INFO] [stdout]      |
[INFO] [stdout]   15 | pub struct Point<C: Coord> {
[INFO] [stdout]      |            ^^^^^^^^^-----^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     unsatisfied trait bound
[INFO] [stdout]      = help: consider manually implementing `common::_::_serde::Serialize` to avoid undesired bounds
[INFO] [stdout] note: required by a bound in `serde_json::to_string`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/ser.rs:2247:17
[INFO] [stdout]      |
[INFO] [stdout] 2245 | pub fn to_string<T>(value: &T) -> Result<String>
[INFO] [stdout]      |        --------- required by a bound in this function
[INFO] [stdout] 2246 | where
[INFO] [stdout] 2247 |     T: ?Sized + Serialize,
[INFO] [stdout]      |                 ^^^^^^^^^ required by this bound in `to_string`
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Coord`
[INFO] [stdout]      |
[INFO] [stdout]  115 |     fn points<C: geometry::coord::Coord>(#[case] _phantom: std::marker::PhantomData<C>) {
[INFO] [stdout]      |                ++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `C: Coord` is not satisfied
[INFO] [stdout]    --> src/geometry/point.rs:128:20
[INFO] [stdout]     |
[INFO] [stdout] 128 |         let serde: Point<C> = serde_json::from_str(&ser).unwrap();
[INFO] [stdout]     |                    ^^^^^^^^ the trait `Coord` is not implemented for `C`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `point::Point`
[INFO] [stdout]    --> src/geometry/point.rs:15:21
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Point<C: Coord> {
[INFO] [stdout]     |                     ^^^^^ required by this bound in `Point`
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Coord`
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn points<C: geometry::coord::Coord>(#[case] _phantom: std::marker::PhantomData<C>) {
[INFO] [stdout]     |                ++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `C: Coord` is not satisfied
[INFO] [stdout]    --> src/geometry/point.rs:128:31
[INFO] [stdout]     |
[INFO] [stdout] 128 |         let serde: Point<C> = serde_json::from_str(&ser).unwrap();
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Coord` is not implemented for `C`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `point::Point`
[INFO] [stdout]    --> src/geometry/point.rs:15:21
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Point<C: Coord> {
[INFO] [stdout]     |                     ^^^^^ required by this bound in `Point`
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Coord`
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn points<C: geometry::coord::Coord>(#[case] _phantom: std::marker::PhantomData<C>) {
[INFO] [stdout]     |                ++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `C: Coord` is not satisfied
[INFO] [stdout]     --> src/geometry/point.rs:128:31
[INFO] [stdout]      |
[INFO] [stdout]  128 |         let serde: Point<C> = serde_json::from_str(&ser).unwrap();
[INFO] [stdout]      |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Coord` is not implemented for `C`
[INFO] [stdout]      |
[INFO] [stdout] note: required for `point::Point<C>` to implement `common::_::_serde::Deserialize<'_>`
[INFO] [stdout]     --> src/geometry/point.rs:15:12
[INFO] [stdout]      |
[INFO] [stdout]   15 | pub struct Point<C: Coord> {
[INFO] [stdout]      |            ^^^^^^^^^-----^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     unsatisfied trait bound
[INFO] [stdout]      = help: consider manually implementing `common::_::_serde::Deserialize<'_>` to avoid undesired bounds
[INFO] [stdout] note: required by a bound in `serde_json::from_str`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/de.rs:2701:8
[INFO] [stdout]      |
[INFO] [stdout] 2699 | pub fn from_str<'a, T>(s: &'a str) -> Result<T>
[INFO] [stdout]      |        -------- required by a bound in this function
[INFO] [stdout] 2700 | where
[INFO] [stdout] 2701 |     T: de::Deserialize<'a>,
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^ required by this bound in `from_str`
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Coord`
[INFO] [stdout]      |
[INFO] [stdout]  115 |     fn points<C: geometry::coord::Coord>(#[case] _phantom: std::marker::PhantomData<C>) {
[INFO] [stdout]      |                ++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `point::Point<C>`
[INFO] [stdout]    --> src/geometry/point.rs:129:9
[INFO] [stdout]     |
[INFO] [stdout] 129 |         assert_eq!(serde, de);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         point::Point<C>
[INFO] [stdout]     |         point::Point<C>
[INFO] [stdout]     |
[INFO] [stdout] help: consider restricting type parameter `C` with trait `PartialEq`
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn points<C: std::cmp::PartialEq>(#[case] _phantom: std::marker::PhantomData<C>) {
[INFO] [stdout]     |                +++++++++++++++++++++
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Coord`
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn points<C: geometry::coord::Coord>(#[case] _phantom: std::marker::PhantomData<C>) {
[INFO] [stdout]     |                ++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `C: Coord` is not satisfied
[INFO] [stdout]    --> src/geometry/point.rs:129:9
[INFO] [stdout]     |
[INFO] [stdout] 129 |         assert_eq!(serde, de);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         the trait `Coord` is not implemented for `C`
[INFO] [stdout]     |         required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] note: required for `point::Point<C>` to implement `Debug`
[INFO] [stdout]    --> src/geometry/point.rs:15:12
[INFO] [stdout]     |
[INFO] [stdout]   6 | #[derive(Serialize, Deserialize, Debug, Clone, PartialEq)]
[INFO] [stdout]     |                                  ----- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout]  15 | pub struct Point<C: Coord> {
[INFO] [stdout]     |            ^^^^^    ----- unsatisfied trait bound
[INFO] [stdout]     = help: consider manually implementing `Debug` to avoid undesired bounds
[INFO] [stdout] note: required by a bound in `core::panicking::assert_failed`
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/panicking.rs:384:0
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Coord`
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn points<C: geometry::coord::Coord>(#[case] _phantom: std::marker::PhantomData<C>) {
[INFO] [stdout]     |                ++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `C: Coord` is not satisfied
[INFO] [stdout]    --> src/geometry/point.rs:129:9
[INFO] [stdout]     |
[INFO] [stdout] 129 |         assert_eq!(serde, de);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         the trait `Coord` is not implemented for `C`
[INFO] [stdout]     |         required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] note: required for `point::Point<C>` to implement `Debug`
[INFO] [stdout]    --> src/geometry/point.rs:15:12
[INFO] [stdout]     |
[INFO] [stdout]   6 | #[derive(Serialize, Deserialize, Debug, Clone, PartialEq)]
[INFO] [stdout]     |                                  ----- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout]  15 | pub struct Point<C: Coord> {
[INFO] [stdout]     |            ^^^^^    ----- unsatisfied trait bound
[INFO] [stdout]     = help: consider manually implementing `Debug` to avoid undesired bounds
[INFO] [stdout] note: required by a bound in `core::panicking::assert_failed`
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/panicking.rs:384:0
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Coord`
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn points<C: geometry::coord::Coord>(#[case] _phantom: std::marker::PhantomData<C>) {
[INFO] [stdout]     |                ++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `C: Coord` is not satisfied
[INFO] [stdout]    --> src/geometry/point.rs:131:17
[INFO] [stdout]     |
[INFO] [stdout] 131 |         let de: Point<C> = serde_json::from_str(&xym).unwrap();
[INFO] [stdout]     |                 ^^^^^^^^ the trait `Coord` is not implemented for `C`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `point::Point`
[INFO] [stdout]    --> src/geometry/point.rs:15:21
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Point<C: Coord> {
[INFO] [stdout]     |                     ^^^^^ required by this bound in `Point`
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Coord`
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn points<C: geometry::coord::Coord>(#[case] _phantom: std::marker::PhantomData<C>) {
[INFO] [stdout]     |                ++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `C: Coord` is not satisfied
[INFO] [stdout]    --> src/geometry/point.rs:131:28
[INFO] [stdout]     |
[INFO] [stdout] 131 |         let de: Point<C> = serde_json::from_str(&xym).unwrap();
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Coord` is not implemented for `C`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `point::Point`
[INFO] [stdout]    --> src/geometry/point.rs:15:21
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Point<C: Coord> {
[INFO] [stdout]     |                     ^^^^^ required by this bound in `Point`
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Coord`
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn points<C: geometry::coord::Coord>(#[case] _phantom: std::marker::PhantomData<C>) {
[INFO] [stdout]     |                ++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `C: Coord` is not satisfied
[INFO] [stdout]     --> src/geometry/point.rs:131:28
[INFO] [stdout]      |
[INFO] [stdout]  131 |         let de: Point<C> = serde_json::from_str(&xym).unwrap();
[INFO] [stdout]      |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Coord` is not implemented for `C`
[INFO] [stdout]      |
[INFO] [stdout] note: required for `point::Point<C>` to implement `common::_::_serde::Deserialize<'_>`
[INFO] [stdout]     --> src/geometry/point.rs:15:12
[INFO] [stdout]      |
[INFO] [stdout]   15 | pub struct Point<C: Coord> {
[INFO] [stdout]      |            ^^^^^^^^^-----^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     unsatisfied trait bound
[INFO] [stdout]      = help: consider manually implementing `common::_::_serde::Deserialize<'_>` to avoid undesired bounds
[INFO] [stdout] note: required by a bound in `serde_json::from_str`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/de.rs:2701:8
[INFO] [stdout]      |
[INFO] [stdout] 2699 | pub fn from_str<'a, T>(s: &'a str) -> Result<T>
[INFO] [stdout]      |        -------- required by a bound in this function
[INFO] [stdout] 2700 | where
[INFO] [stdout] 2701 |     T: de::Deserialize<'a>,
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^ required by this bound in `from_str`
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Coord`
[INFO] [stdout]      |
[INFO] [stdout]  115 |     fn points<C: geometry::coord::Coord>(#[case] _phantom: std::marker::PhantomData<C>) {
[INFO] [stdout]      |                ++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `C: Coord` is not satisfied
[INFO] [stdout]     --> src/geometry/point.rs:132:41
[INFO] [stdout]      |
[INFO] [stdout]  132 |         let ser = serde_json::to_string(&de).unwrap();
[INFO] [stdout]      |                   --------------------- ^^^ the trait `Coord` is not implemented for `C`
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout] note: required for `point::Point<C>` to implement `common::_::_serde::Serialize`
[INFO] [stdout]     --> src/geometry/point.rs:15:12
[INFO] [stdout]      |
[INFO] [stdout]   15 | pub struct Point<C: Coord> {
[INFO] [stdout]      |            ^^^^^^^^^-----^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     unsatisfied trait bound
[INFO] [stdout]      = help: consider manually implementing `common::_::_serde::Serialize` to avoid undesired bounds
[INFO] [stdout] note: required by a bound in `serde_json::to_string`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/ser.rs:2247:17
[INFO] [stdout]      |
[INFO] [stdout] 2245 | pub fn to_string<T>(value: &T) -> Result<String>
[INFO] [stdout]      |        --------- required by a bound in this function
[INFO] [stdout] 2246 | where
[INFO] [stdout] 2247 |     T: ?Sized + Serialize,
[INFO] [stdout]      |                 ^^^^^^^^^ required by this bound in `to_string`
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Coord`
[INFO] [stdout]      |
[INFO] [stdout]  115 |     fn points<C: geometry::coord::Coord>(#[case] _phantom: std::marker::PhantomData<C>) {
[INFO] [stdout]      |                ++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `C: Coord` is not satisfied
[INFO] [stdout]    --> src/geometry/point.rs:133:20
[INFO] [stdout]     |
[INFO] [stdout] 133 |         let serde: Point<C> = serde_json::from_str(&ser).unwrap();
[INFO] [stdout]     |                    ^^^^^^^^ the trait `Coord` is not implemented for `C`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `point::Point`
[INFO] [stdout]    --> src/geometry/point.rs:15:21
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Point<C: Coord> {
[INFO] [stdout]     |                     ^^^^^ required by this bound in `Point`
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Coord`
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn points<C: geometry::coord::Coord>(#[case] _phantom: std::marker::PhantomData<C>) {
[INFO] [stdout]     |                ++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `C: Coord` is not satisfied
[INFO] [stdout]    --> src/geometry/point.rs:133:31
[INFO] [stdout]     |
[INFO] [stdout] 133 |         let serde: Point<C> = serde_json::from_str(&ser).unwrap();
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Coord` is not implemented for `C`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `point::Point`
[INFO] [stdout]    --> src/geometry/point.rs:15:21
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Point<C: Coord> {
[INFO] [stdout]     |                     ^^^^^ required by this bound in `Point`
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Coord`
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn points<C: geometry::coord::Coord>(#[case] _phantom: std::marker::PhantomData<C>) {
[INFO] [stdout]     |                ++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `C: Coord` is not satisfied
[INFO] [stdout]     --> src/geometry/point.rs:133:31
[INFO] [stdout]      |
[INFO] [stdout]  133 |         let serde: Point<C> = serde_json::from_str(&ser).unwrap();
[INFO] [stdout]      |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Coord` is not implemented for `C`
[INFO] [stdout]      |
[INFO] [stdout] note: required for `point::Point<C>` to implement `common::_::_serde::Deserialize<'_>`
[INFO] [stdout]     --> src/geometry/point.rs:15:12
[INFO] [stdout]      |
[INFO] [stdout]   15 | pub struct Point<C: Coord> {
[INFO] [stdout]      |            ^^^^^^^^^-----^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     unsatisfied trait bound
[INFO] [stdout]      = help: consider manually implementing `common::_::_serde::Deserialize<'_>` to avoid undesired bounds
[INFO] [stdout] note: required by a bound in `serde_json::from_str`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/de.rs:2701:8
[INFO] [stdout]      |
[INFO] [stdout] 2699 | pub fn from_str<'a, T>(s: &'a str) -> Result<T>
[INFO] [stdout]      |        -------- required by a bound in this function
[INFO] [stdout] 2700 | where
[INFO] [stdout] 2701 |     T: de::Deserialize<'a>,
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^ required by this bound in `from_str`
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Coord`
[INFO] [stdout]      |
[INFO] [stdout]  115 |     fn points<C: geometry::coord::Coord>(#[case] _phantom: std::marker::PhantomData<C>) {
[INFO] [stdout]      |                ++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `point::Point<C>`
[INFO] [stdout]    --> src/geometry/point.rs:134:9
[INFO] [stdout]     |
[INFO] [stdout] 134 |         assert_eq!(serde, de);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         point::Point<C>
[INFO] [stdout]     |         point::Point<C>
[INFO] [stdout]     |
[INFO] [stdout] help: consider restricting type parameter `C` with trait `PartialEq`
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn points<C: std::cmp::PartialEq>(#[case] _phantom: std::marker::PhantomData<C>) {
[INFO] [stdout]     |                +++++++++++++++++++++
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Coord`
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn points<C: geometry::coord::Coord>(#[case] _phantom: std::marker::PhantomData<C>) {
[INFO] [stdout]     |                ++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `C: Coord` is not satisfied
[INFO] [stdout]    --> src/geometry/point.rs:134:9
[INFO] [stdout]     |
[INFO] [stdout] 134 |         assert_eq!(serde, de);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         the trait `Coord` is not implemented for `C`
[INFO] [stdout]     |         required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] note: required for `point::Point<C>` to implement `Debug`
[INFO] [stdout]    --> src/geometry/point.rs:15:12
[INFO] [stdout]     |
[INFO] [stdout]   6 | #[derive(Serialize, Deserialize, Debug, Clone, PartialEq)]
[INFO] [stdout]     |                                  ----- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout]  15 | pub struct Point<C: Coord> {
[INFO] [stdout]     |            ^^^^^    ----- unsatisfied trait bound
[INFO] [stdout]     = help: consider manually implementing `Debug` to avoid undesired bounds
[INFO] [stdout] note: required by a bound in `core::panicking::assert_failed`
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/panicking.rs:384:0
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Coord`
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn points<C: geometry::coord::Coord>(#[case] _phantom: std::marker::PhantomData<C>) {
[INFO] [stdout]     |                ++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `C: Coord` is not satisfied
[INFO] [stdout]    --> src/geometry/point.rs:134:9
[INFO] [stdout]     |
[INFO] [stdout] 134 |         assert_eq!(serde, de);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         the trait `Coord` is not implemented for `C`
[INFO] [stdout]     |         required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] note: required for `point::Point<C>` to implement `Debug`
[INFO] [stdout]    --> src/geometry/point.rs:15:12
[INFO] [stdout]     |
[INFO] [stdout]   6 | #[derive(Serialize, Deserialize, Debug, Clone, PartialEq)]
[INFO] [stdout]     |                                  ----- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout]  15 | pub struct Point<C: Coord> {
[INFO] [stdout]     |            ^^^^^    ----- unsatisfied trait bound
[INFO] [stdout]     = help: consider manually implementing `Debug` to avoid undesired bounds
[INFO] [stdout] note: required by a bound in `core::panicking::assert_failed`
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/panicking.rs:384:0
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Coord`
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn points<C: geometry::coord::Coord>(#[case] _phantom: std::marker::PhantomData<C>) {
[INFO] [stdout]     |                ++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `C: Coord` is not satisfied
[INFO] [stdout]    --> src/geometry/point.rs:136:17
[INFO] [stdout]     |
[INFO] [stdout] 136 |         let de: Point<C> = serde_json::from_str(&xyzm).unwrap();
[INFO] [stdout]     |                 ^^^^^^^^ the trait `Coord` is not implemented for `C`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `point::Point`
[INFO] [stdout]    --> src/geometry/point.rs:15:21
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Point<C: Coord> {
[INFO] [stdout]     |                     ^^^^^ required by this bound in `Point`
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Coord`
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn points<C: geometry::coord::Coord>(#[case] _phantom: std::marker::PhantomData<C>) {
[INFO] [stdout]     |                ++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `C: Coord` is not satisfied
[INFO] [stdout]    --> src/geometry/point.rs:136:28
[INFO] [stdout]     |
[INFO] [stdout] 136 |         let de: Point<C> = serde_json::from_str(&xyzm).unwrap();
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Coord` is not implemented for `C`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `point::Point`
[INFO] [stdout]    --> src/geometry/point.rs:15:21
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Point<C: Coord> {
[INFO] [stdout]     |                     ^^^^^ required by this bound in `Point`
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Coord`
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn points<C: geometry::coord::Coord>(#[case] _phantom: std::marker::PhantomData<C>) {
[INFO] [stdout]     |                ++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `C: Coord` is not satisfied
[INFO] [stdout]     --> src/geometry/point.rs:136:28
[INFO] [stdout]      |
[INFO] [stdout]  136 |         let de: Point<C> = serde_json::from_str(&xyzm).unwrap();
[INFO] [stdout]      |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Coord` is not implemented for `C`
[INFO] [stdout]      |
[INFO] [stdout] note: required for `point::Point<C>` to implement `common::_::_serde::Deserialize<'_>`
[INFO] [stdout]     --> src/geometry/point.rs:15:12
[INFO] [stdout]      |
[INFO] [stdout]   15 | pub struct Point<C: Coord> {
[INFO] [stdout]      |            ^^^^^^^^^-----^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     unsatisfied trait bound
[INFO] [stdout]      = help: consider manually implementing `common::_::_serde::Deserialize<'_>` to avoid undesired bounds
[INFO] [stdout] note: required by a bound in `serde_json::from_str`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/de.rs:2701:8
[INFO] [stdout]      |
[INFO] [stdout] 2699 | pub fn from_str<'a, T>(s: &'a str) -> Result<T>
[INFO] [stdout]      |        -------- required by a bound in this function
[INFO] [stdout] 2700 | where
[INFO] [stdout] 2701 |     T: de::Deserialize<'a>,
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^ required by this bound in `from_str`
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Coord`
[INFO] [stdout]      |
[INFO] [stdout]  115 |     fn points<C: geometry::coord::Coord>(#[case] _phantom: std::marker::PhantomData<C>) {
[INFO] [stdout]      |                ++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `C: Coord` is not satisfied
[INFO] [stdout]     --> src/geometry/point.rs:137:41
[INFO] [stdout]      |
[INFO] [stdout]  137 |         let ser = serde_json::to_string(&de).unwrap();
[INFO] [stdout]      |                   --------------------- ^^^ the trait `Coord` is not implemented for `C`
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout] note: required for `point::Point<C>` to implement `common::_::_serde::Serialize`
[INFO] [stdout]     --> src/geometry/point.rs:15:12
[INFO] [stdout]      |
[INFO] [stdout]   15 | pub struct Point<C: Coord> {
[INFO] [stdout]      |            ^^^^^^^^^-----^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     unsatisfied trait bound
[INFO] [stdout]      = help: consider manually implementing `common::_::_serde::Serialize` to avoid undesired bounds
[INFO] [stdout] note: required by a bound in `serde_json::to_string`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/ser.rs:2247:17
[INFO] [stdout]      |
[INFO] [stdout] 2245 | pub fn to_string<T>(value: &T) -> Result<String>
[INFO] [stdout]      |        --------- required by a bound in this function
[INFO] [stdout] 2246 | where
[INFO] [stdout] 2247 |     T: ?Sized + Serialize,
[INFO] [stdout]      |                 ^^^^^^^^^ required by this bound in `to_string`
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Coord`
[INFO] [stdout]      |
[INFO] [stdout]  115 |     fn points<C: geometry::coord::Coord>(#[case] _phantom: std::marker::PhantomData<C>) {
[INFO] [stdout]      |                ++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `C: Coord` is not satisfied
[INFO] [stdout]    --> src/geometry/point.rs:138:20
[INFO] [stdout]     |
[INFO] [stdout] 138 |         let serde: Point<C> = serde_json::from_str(&ser).unwrap();
[INFO] [stdout]     |                    ^^^^^^^^ the trait `Coord` is not implemented for `C`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `point::Point`
[INFO] [stdout]    --> src/geometry/point.rs:15:21
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Point<C: Coord> {
[INFO] [stdout]     |                     ^^^^^ required by this bound in `Point`
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Coord`
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn points<C: geometry::coord::Coord>(#[case] _phantom: std::marker::PhantomData<C>) {
[INFO] [stdout]     |                ++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `C: Coord` is not satisfied
[INFO] [stdout]    --> src/geometry/point.rs:138:31
[INFO] [stdout]     |
[INFO] [stdout] 138 |         let serde: Point<C> = serde_json::from_str(&ser).unwrap();
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Coord` is not implemented for `C`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `point::Point`
[INFO] [stdout]    --> src/geometry/point.rs:15:21
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Point<C: Coord> {
[INFO] [stdout]     |                     ^^^^^ required by this bound in `Point`
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Coord`
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn points<C: geometry::coord::Coord>(#[case] _phantom: std::marker::PhantomData<C>) {
[INFO] [stdout]     |                ++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `C: Coord` is not satisfied
[INFO] [stdout]     --> src/geometry/point.rs:138:31
[INFO] [stdout]      |
[INFO] [stdout]  138 |         let serde: Point<C> = serde_json::from_str(&ser).unwrap();
[INFO] [stdout]      |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Coord` is not implemented for `C`
[INFO] [stdout]      |
[INFO] [stdout] note: required for `point::Point<C>` to implement `common::_::_serde::Deserialize<'_>`
[INFO] [stdout]     --> src/geometry/point.rs:15:12
[INFO] [stdout]      |
[INFO] [stdout]   15 | pub struct Point<C: Coord> {
[INFO] [stdout]      |            ^^^^^^^^^-----^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     unsatisfied trait bound
[INFO] [stdout]      = help: consider manually implementing `common::_::_serde::Deserialize<'_>` to avoid undesired bounds
[INFO] [stdout] note: required by a bound in `serde_json::from_str`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/de.rs:2701:8
[INFO] [stdout]      |
[INFO] [stdout] 2699 | pub fn from_str<'a, T>(s: &'a str) -> Result<T>
[INFO] [stdout]      |        -------- required by a bound in this function
[INFO] [stdout] 2700 | where
[INFO] [stdout] 2701 |     T: de::Deserialize<'a>,
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^ required by this bound in `from_str`
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Coord`
[INFO] [stdout]      |
[INFO] [stdout]  115 |     fn points<C: geometry::coord::Coord>(#[case] _phantom: std::marker::PhantomData<C>) {
[INFO] [stdout]      |                ++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `point::Point<C>`
[INFO] [stdout]    --> src/geometry/point.rs:139:9
[INFO] [stdout]     |
[INFO] [stdout] 139 |         assert_eq!(serde, de);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         point::Point<C>
[INFO] [stdout]     |         point::Point<C>
[INFO] [stdout]     |
[INFO] [stdout] help: consider restricting type parameter `C` with trait `PartialEq`
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn points<C: std::cmp::PartialEq>(#[case] _phantom: std::marker::PhantomData<C>) {
[INFO] [stdout]     |                +++++++++++++++++++++
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Coord`
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn points<C: geometry::coord::Coord>(#[case] _phantom: std::marker::PhantomData<C>) {
[INFO] [stdout]     |                ++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `C: Coord` is not satisfied
[INFO] [stdout]    --> src/geometry/point.rs:139:9
[INFO] [stdout]     |
[INFO] [stdout] 139 |         assert_eq!(serde, de);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         the trait `Coord` is not implemented for `C`
[INFO] [stdout]     |         required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] note: required for `point::Point<C>` to implement `Debug`
[INFO] [stdout]    --> src/geometry/point.rs:15:12
[INFO] [stdout]     |
[INFO] [stdout]   6 | #[derive(Serialize, Deserialize, Debug, Clone, PartialEq)]
[INFO] [stdout]     |                                  ----- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout]  15 | pub struct Point<C: Coord> {
[INFO] [stdout]     |            ^^^^^    ----- unsatisfied trait bound
[INFO] [stdout]     = help: consider manually implementing `Debug` to avoid undesired bounds
[INFO] [stdout] note: required by a bound in `core::panicking::assert_failed`
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/panicking.rs:384:0
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Coord`
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn points<C: geometry::coord::Coord>(#[case] _phantom: std::marker::PhantomData<C>) {
[INFO] [stdout]     |                ++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `C: Coord` is not satisfied
[INFO] [stdout]    --> src/geometry/point.rs:139:9
[INFO] [stdout]     |
[INFO] [stdout] 139 |         assert_eq!(serde, de);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         the trait `Coord` is not implemented for `C`
[INFO] [stdout]     |         required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] note: required for `point::Point<C>` to implement `Debug`
[INFO] [stdout]    --> src/geometry/point.rs:15:12
[INFO] [stdout]     |
[INFO] [stdout]   6 | #[derive(Serialize, Deserialize, Debug, Clone, PartialEq)]
[INFO] [stdout]     |                                  ----- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout]  15 | pub struct Point<C: Coord> {
[INFO] [stdout]     |            ^^^^^    ----- unsatisfied trait bound
[INFO] [stdout]     = help: consider manually implementing `Debug` to avoid undesired bounds
[INFO] [stdout] note: required by a bound in `core::panicking::assert_failed`
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/panicking.rs:384:0
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Coord`
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn points<C: geometry::coord::Coord>(#[case] _phantom: std::marker::PhantomData<C>) {
[INFO] [stdout]     |                ++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `C: Coord` is not satisfied
[INFO] [stdout]   --> src/geometry/polygon.rs:64:17
[INFO] [stdout]    |
[INFO] [stdout] 64 |         let de: Polygon<C> = serde_json::from_str(&empty()).unwrap();
[INFO] [stdout]    |                 ^^^^^^^^^^ the trait `Coord` is not implemented for `C`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `polygon::Polygon`
[INFO] [stdout]   --> src/geometry/polygon.rs:10:23
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct Polygon<C: Coord> {
[INFO] [stdout]    |                       ^^^^^ required by this bound in `Polygon`
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Coord`
[INFO] [stdout]    |
[INFO] [stdout] 63 |     fn empty_polygon<C: geometry::coord::Coord>() {
[INFO] [stdout]    |                       ++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `C: Coord` is not satisfied
[INFO] [stdout]   --> src/geometry/polygon.rs:64:30
[INFO] [stdout]    |
[INFO] [stdout] 64 |         let de: Polygon<C> = serde_json::from_str(&empty()).unwrap();
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Coord` is not implemented for `C`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `polygon::Polygon`
[INFO] [stdout]   --> src/geometry/polygon.rs:10:23
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct Polygon<C: Coord> {
[INFO] [stdout]    |                       ^^^^^ required by this bound in `Polygon`
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Coord`
[INFO] [stdout]    |
[INFO] [stdout] 63 |     fn empty_polygon<C: geometry::coord::Coord>() {
[INFO] [stdout]    |                       ++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `C: Coord` is not satisfied
[INFO] [stdout]     --> src/geometry/polygon.rs:64:30
[INFO] [stdout]      |
[INFO] [stdout]   64 |         let de: Polygon<C> = serde_json::from_str(&empty()).unwrap();
[INFO] [stdout]      |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Coord` is not implemented for `C`
[INFO] [stdout]      |
[INFO] [stdout] note: required for `polygon::Polygon<C>` to implement `common::_::_serde::Deserialize<'_>`
[INFO] [stdout]     --> src/geometry/polygon.rs:10:12
[INFO] [stdout]      |
[INFO] [stdout]   10 | pub struct Polygon<C: Coord> {
[INFO] [stdout]      |            ^^^^^^^^^^^-----^
[INFO] [stdout]      |                       |
[INFO] [stdout]      |                       unsatisfied trait bound
[INFO] [stdout]      = help: consider manually implementing `common::_::_serde::Deserialize<'_>` to avoid undesired bounds
[INFO] [stdout] note: required by a bound in `serde_json::from_str`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/de.rs:2701:8
[INFO] [stdout]      |
[INFO] [stdout] 2699 | pub fn from_str<'a, T>(s: &'a str) -> Result<T>
[INFO] [stdout]      |        -------- required by a bound in this function
[INFO] [stdout] 2700 | where
[INFO] [stdout] 2701 |     T: de::Deserialize<'a>,
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^ required by this bound in `from_str`
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Coord`
[INFO] [stdout]      |
[INFO] [stdout]   63 |     fn empty_polygon<C: geometry::coord::Coord>() {
[INFO] [stdout]      |                       ++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `C: serde::Deserialize<'de>` is not satisfied
[INFO] [stdout]     --> src/geometry/polygon.rs:64:30
[INFO] [stdout]      |
[INFO] [stdout]   64 |         let de: Polygon<C> = serde_json::from_str(&empty()).unwrap();
[INFO] [stdout]      |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `common::_::_serde::Deserialize<'_>` is not implemented for `C`
[INFO] [stdout]      |
[INFO] [stdout]      = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `C` type
[INFO] [stdout]      = note: for types from other crates check whether the crate offers a `serde` feature flag
[INFO] [stdout] note: required for `polygon::Polygon<C>` to implement `common::_::_serde::Deserialize<'_>`
[INFO] [stdout]     --> src/geometry/polygon.rs:10:12
[INFO] [stdout]      |
[INFO] [stdout]    9 | #[serde(bound(serialize = "C: Serialize", deserialize = "C: Deserialize<'de>"))]
[INFO] [stdout]      |                                                         --------------------- unsatisfied trait bound
[INFO] [stdout]   10 | pub struct Polygon<C: Coord> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = help: consider manually implementing `common::_::_serde::Deserialize<'_>` to avoid undesired bounds
[INFO] [stdout] note: required by a bound in `serde_json::from_str`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/de.rs:2701:8
[INFO] [stdout]      |
[INFO] [stdout] 2699 | pub fn from_str<'a, T>(s: &'a str) -> Result<T>
[INFO] [stdout]      |        -------- required by a bound in this function
[INFO] [stdout] 2700 | where
[INFO] [stdout] 2701 |     T: de::Deserialize<'a>,
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^ required by this bound in `from_str`
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Deserialize`
[INFO] [stdout]      |
[INFO] [stdout]   63 |     fn empty_polygon<C: common::_::_serde::Deserialize<'_>>() {
[INFO] [stdout]      |                       ++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `C: Coord` is not satisfied
[INFO] [stdout]     --> src/geometry/polygon.rs:65:41
[INFO] [stdout]      |
[INFO] [stdout]   65 |         let ser = serde_json::to_string(&de).unwrap();
[INFO] [stdout]      |                   --------------------- ^^^ the trait `Coord` is not implemented for `C`
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout] note: required for `polygon::Polygon<C>` to implement `common::_::_serde::Serialize`
[INFO] [stdout]     --> src/geometry/polygon.rs:10:12
[INFO] [stdout]      |
[INFO] [stdout]   10 | pub struct Polygon<C: Coord> {
[INFO] [stdout]      |            ^^^^^^^^^^^-----^
[INFO] [stdout]      |                       |
[INFO] [stdout]      |                       unsatisfied trait bound
[INFO] [stdout]      = help: consider manually implementing `common::_::_serde::Serialize` to avoid undesired bounds
[INFO] [stdout] note: required by a bound in `serde_json::to_string`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/ser.rs:2247:17
[INFO] [stdout]      |
[INFO] [stdout] 2245 | pub fn to_string<T>(value: &T) -> Result<String>
[INFO] [stdout]      |        --------- required by a bound in this function
[INFO] [stdout] 2246 | where
[INFO] [stdout] 2247 |     T: ?Sized + Serialize,
[INFO] [stdout]      |                 ^^^^^^^^^ required by this bound in `to_string`
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Coord`
[INFO] [stdout]      |
[INFO] [stdout]   63 |     fn empty_polygon<C: geometry::coord::Coord>() {
[INFO] [stdout]      |                       ++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `C: serde::Serialize` is not satisfied
[INFO] [stdout]     --> src/geometry/polygon.rs:65:41
[INFO] [stdout]      |
[INFO] [stdout]   65 |         let ser = serde_json::to_string(&de).unwrap();
[INFO] [stdout]      |                   --------------------- ^^^ the trait `common::_::_serde::Serialize` is not implemented for `C`
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout]      = note: for local types consider adding `#[derive(serde::Serialize)]` to your `C` type
[INFO] [stdout]      = note: for types from other crates check whether the crate offers a `serde` feature flag
[INFO] [stdout] note: required for `polygon::Polygon<C>` to implement `common::_::_serde::Serialize`
[INFO] [stdout]     --> src/geometry/polygon.rs:10:12
[INFO] [stdout]      |
[INFO] [stdout]    9 | #[serde(bound(serialize = "C: Serialize", deserialize = "C: Deserialize<'de>"))]
[INFO] [stdout]      |                           -------------- unsatisfied trait bound
[INFO] [stdout]   10 | pub struct Polygon<C: Coord> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = help: consider manually implementing `common::_::_serde::Serialize` to avoid undesired bounds
[INFO] [stdout] note: required by a bound in `serde_json::to_string`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/ser.rs:2247:17
[INFO] [stdout]      |
[INFO] [stdout] 2245 | pub fn to_string<T>(value: &T) -> Result<String>
[INFO] [stdout]      |        --------- required by a bound in this function
[INFO] [stdout] 2246 | where
[INFO] [stdout] 2247 |     T: ?Sized + Serialize,
[INFO] [stdout]      |                 ^^^^^^^^^ required by this bound in `to_string`
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Serialize`
[INFO] [stdout]      |
[INFO] [stdout]   63 |     fn empty_polygon<C: common::_::_serde::Serialize>() {
[INFO] [stdout]      |                       ++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `C: Coord` is not satisfied
[INFO] [stdout]   --> src/geometry/polygon.rs:66:20
[INFO] [stdout]    |
[INFO] [stdout] 66 |         let serde: Polygon<C> = serde_json::from_str(&ser).unwrap();
[INFO] [stdout]    |                    ^^^^^^^^^^ the trait `Coord` is not implemented for `C`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `polygon::Polygon`
[INFO] [stdout]   --> src/geometry/polygon.rs:10:23
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct Polygon<C: Coord> {
[INFO] [stdout]    |                       ^^^^^ required by this bound in `Polygon`
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Coord`
[INFO] [stdout]    |
[INFO] [stdout] 63 |     fn empty_polygon<C: geometry::coord::Coord>() {
[INFO] [stdout]    |                       ++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `C: Coord` is not satisfied
[INFO] [stdout]   --> src/geometry/polygon.rs:66:33
[INFO] [stdout]    |
[INFO] [stdout] 66 |         let serde: Polygon<C> = serde_json::from_str(&ser).unwrap();
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Coord` is not implemented for `C`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `polygon::Polygon`
[INFO] [stdout]   --> src/geometry/polygon.rs:10:23
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct Polygon<C: Coord> {
[INFO] [stdout]    |                       ^^^^^ required by this bound in `Polygon`
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Coord`
[INFO] [stdout]    |
[INFO] [stdout] 63 |     fn empty_polygon<C: geometry::coord::Coord>() {
[INFO] [stdout]    |                       ++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `C: Coord` is not satisfied
[INFO] [stdout]     --> src/geometry/polygon.rs:66:33
[INFO] [stdout]      |
[INFO] [stdout]   66 |         let serde: Polygon<C> = serde_json::from_str(&ser).unwrap();
[INFO] [stdout]      |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Coord` is not implemented for `C`
[INFO] [stdout]      |
[INFO] [stdout] note: required for `polygon::Polygon<C>` to implement `common::_::_serde::Deserialize<'_>`
[INFO] [stdout]     --> src/geometry/polygon.rs:10:12
[INFO] [stdout]      |
[INFO] [stdout]   10 | pub struct Polygon<C: Coord> {
[INFO] [stdout]      |            ^^^^^^^^^^^-----^
[INFO] [stdout]      |                       |
[INFO] [stdout]      |                       unsatisfied trait bound
[INFO] [stdout]      = help: consider manually implementing `common::_::_serde::Deserialize<'_>` to avoid undesired bounds
[INFO] [stdout] note: required by a bound in `serde_json::from_str`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/de.rs:2701:8
[INFO] [stdout]      |
[INFO] [stdout] 2699 | pub fn from_str<'a, T>(s: &'a str) -> Result<T>
[INFO] [stdout]      |        -------- required by a bound in this function
[INFO] [stdout] 2700 | where
[INFO] [stdout] 2701 |     T: de::Deserialize<'a>,
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^ required by this bound in `from_str`
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Coord`
[INFO] [stdout]      |
[INFO] [stdout]   63 |     fn empty_polygon<C: geometry::coord::Coord>() {
[INFO] [stdout]      |                       ++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `C: serde::Deserialize<'de>` is not satisfied
[INFO] [stdout]     --> src/geometry/polygon.rs:66:33
[INFO] [stdout]      |
[INFO] [stdout]   66 |         let serde: Polygon<C> = serde_json::from_str(&ser).unwrap();
[INFO] [stdout]      |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `common::_::_serde::Deserialize<'_>` is not implemented for `C`
[INFO] [stdout]      |
[INFO] [stdout]      = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `C` type
[INFO] [stdout]      = note: for types from other crates check whether the crate offers a `serde` feature flag
[INFO] [stdout] note: required for `polygon::Polygon<C>` to implement `common::_::_serde::Deserialize<'_>`
[INFO] [stdout]     --> src/geometry/polygon.rs:10:12
[INFO] [stdout]      |
[INFO] [stdout]    9 | #[serde(bound(serialize = "C: Serialize", deserialize = "C: Deserialize<'de>"))]
[INFO] [stdout]      |                                                         --------------------- unsatisfied trait bound
[INFO] [stdout]   10 | pub struct Polygon<C: Coord> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = help: consider manually implementing `common::_::_serde::Deserialize<'_>` to avoid undesired bounds
[INFO] [stdout] note: required by a bound in `serde_json::from_str`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/de.rs:2701:8
[INFO] [stdout]      |
[INFO] [stdout] 2699 | pub fn from_str<'a, T>(s: &'a str) -> Result<T>
[INFO] [stdout]      |        -------- required by a bound in this function
[INFO] [stdout] 2700 | where
[INFO] [stdout] 2701 |     T: de::Deserialize<'a>,
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^ required by this bound in `from_str`
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Deserialize`
[INFO] [stdout]      |
[INFO] [stdout]   63 |     fn empty_polygon<C: common::_::_serde::Deserialize<'_>>() {
[INFO] [stdout]      |                       ++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `polygon::Polygon<C>`
[INFO] [stdout]   --> src/geometry/polygon.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 67 |         assert_eq!(serde, de);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         polygon::Polygon<C>
[INFO] [stdout]    |         polygon::Polygon<C>
[INFO] [stdout]    |
[INFO] [stdout] help: consider restricting type parameter `C` with trait `PartialEq`
[INFO] [stdout]    |
[INFO] [stdout] 63 |     fn empty_polygon<C: std::cmp::PartialEq>() {
[INFO] [stdout]    |                       +++++++++++++++++++++
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Coord`
[INFO] [stdout]    |
[INFO] [stdout] 63 |     fn empty_polygon<C: geometry::coord::Coord>() {
[INFO] [stdout]    |                       ++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `C: Coord` is not satisfied
[INFO] [stdout]   --> src/geometry/polygon.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 67 |         assert_eq!(serde, de);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         the trait `Coord` is not implemented for `C`
[INFO] [stdout]    |         required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout] note: required for `polygon::Polygon<C>` to implement `Debug`
[INFO] [stdout]   --> src/geometry/polygon.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | #[derive(Serialize, Deserialize, Debug, Clone, PartialEq)]
[INFO] [stdout]    |                                  ----- in this derive macro expansion
[INFO] [stdout]  9 | #[serde(bound(serialize = "C: Serialize", deserialize = "C: Deserialize<'de>"))]
[INFO] [stdout] 10 | pub struct Polygon<C: Coord> {
[INFO] [stdout]    |            ^^^^^^^    ----- unsatisfied trait bound
[INFO] [stdout]    = help: consider manually implementing `Debug` to avoid undesired bounds
[INFO] [stdout] note: required by a bound in `core::panicking::assert_failed`
[INFO] [stdout]   --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/panicking.rs:384:0
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Coord`
[INFO] [stdout]    |
[INFO] [stdout] 63 |     fn empty_polygon<C: geometry::coord::Coord>() {
[INFO] [stdout]    |                       ++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `C: Coord` is not satisfied
[INFO] [stdout]   --> src/geometry/polygon.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 67 |         assert_eq!(serde, de);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         the trait `Coord` is not implemented for `C`
[INFO] [stdout]    |         required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout] note: required for `polygon::Polygon<C>` to implement `Debug`
[INFO] [stdout]   --> src/geometry/polygon.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | #[derive(Serialize, Deserialize, Debug, Clone, PartialEq)]
[INFO] [stdout]    |                                  ----- in this derive macro expansion
[INFO] [stdout]  9 | #[serde(bound(serialize = "C: Serialize", deserialize = "C: Deserialize<'de>"))]
[INFO] [stdout] 10 | pub struct Polygon<C: Coord> {
[INFO] [stdout]    |            ^^^^^^^    ----- unsatisfied trait bound
[INFO] [stdout]    = help: consider manually implementing `Debug` to avoid undesired bounds
[INFO] [stdout] note: required by a bound in `core::panicking::assert_failed`
[INFO] [stdout]   --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/panicking.rs:384:0
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Coord`
[INFO] [stdout]    |
[INFO] [stdout] 63 |     fn empty_polygon<C: geometry::coord::Coord>() {
[INFO] [stdout]    |                       ++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: CoordNumber` is not satisfied
[INFO] [stdout]   --> src/geometry/polygon.rs:72:17
[INFO] [stdout]    |
[INFO] [stdout] 72 |         let de: Polygon<CoordXy<T>> = serde_json::from_str(&xy()).unwrap();
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^ the trait `CoordNumber` is not implemented for `T`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `xy::CoordXy`
[INFO] [stdout]   --> src/geometry/coord/xy.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct CoordXy<T>
[INFO] [stdout]    |            ------- required by a bound in this struct
[INFO] [stdout] 10 | where
[INFO] [stdout] 11 |     T: CoordNumber,
[INFO] [stdout]    |        ^^^^^^^^^^^ required by this bound in `CoordXy`
[INFO] [stdout] help: consider restricting type parameter `T` with trait `CoordNumber`
[INFO] [stdout]    |
[INFO] [stdout] 71 |     fn polygon<T: CoordNumber>() {
[INFO] [stdout]    |                 +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `xy` in this scope
[INFO] [stdout]   --> src/geometry/polygon.rs:72:61
[INFO] [stdout]    |
[INFO] [stdout] 72 |         let de: Polygon<CoordXy<T>> = serde_json::from_str(&xy()).unwrap();
[INFO] [stdout]    |                                                             ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: CoordNumber` is not satisfied
[INFO] [stdout]   --> src/geometry/polygon.rs:72:39
[INFO] [stdout]    |
[INFO] [stdout] 72 |         let de: Polygon<CoordXy<T>> = serde_json::from_str(&xy()).unwrap();
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `CoordNumber` is not implemented for `T`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `xy::CoordXy`
[INFO] [stdout]   --> src/geometry/coord/xy.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct CoordXy<T>
[INFO] [stdout]    |            ------- required by a bound in this struct
[INFO] [stdout] 10 | where
[INFO] [stdout] 11 |     T: CoordNumber,
[INFO] [stdout]    |        ^^^^^^^^^^^ required by this bound in `CoordXy`
[INFO] [stdout] help: consider restricting type parameter `T` with trait `CoordNumber`
[INFO] [stdout]    |
[INFO] [stdout] 71 |     fn polygon<T: CoordNumber>() {
[INFO] [stdout]    |                 +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: CoordNumber` is not satisfied
[INFO] [stdout]   --> src/geometry/polygon.rs:72:39
[INFO] [stdout]    |
[INFO] [stdout] 72 |         let de: Polygon<CoordXy<T>> = serde_json::from_str(&xy()).unwrap();
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^^^^^^^ the trait `CoordNumber` is not implemented for `T`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `xy::CoordXy`
[INFO] [stdout]   --> src/geometry/coord/xy.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct CoordXy<T>
[INFO] [stdout]    |            ------- required by a bound in this struct
[INFO] [stdout] 10 | where
[INFO] [stdout] 11 |     T: CoordNumber,
[INFO] [stdout]    |        ^^^^^^^^^^^ required by this bound in `CoordXy`
[INFO] [stdout] help: consider restricting type parameter `T` with trait `CoordNumber`
[INFO] [stdout]    |
[INFO] [stdout] 71 |     fn polygon<T: CoordNumber>() {
[INFO] [stdout]    |                 +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: serde::Deserialize<'de>` is not satisfied
[INFO] [stdout]     --> src/geometry/polygon.rs:72:39
[INFO] [stdout]      |
[INFO] [stdout]   72 |         let de: Polygon<CoordXy<T>> = serde_json::from_str(&xy()).unwrap();
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `common::_::_serde::Deserialize<'_>` is not implemented for `T`
[INFO] [stdout]      |
[INFO] [stdout]      = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `T` type
[INFO] [stdout]      = note: for types from other crates check whether the crate offers a `serde` feature flag
[INFO] [stdout] note: required for `xy::CoordXy<T>` to implement `common::_::_serde::Deserialize<'_>`
[INFO] [stdout]     --> src/geometry/coord/xy.rs:9:12
[INFO] [stdout]      |
[INFO] [stdout]    7 | #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Copy)]
[INFO] [stdout]      |                     ----------- type parameter would need to implement `common::_::_serde::Deserialize<'_>`
[INFO] [stdout]    8 | #[serde(into = "[T;2]", from = "Vec<T>")]
[INFO] [stdout]    9 | pub struct CoordXy<T>
[INFO] [stdout]      |            ^^^^^^^^^^
[INFO] [stdout]      = help: consider manually implementing `common::_::_serde::Deserialize<'_>` to avoid undesired bounds
[INFO] [stdout]      = note: 1 redundant requirement hidden
[INFO] [stdout]      = note: required for `polygon::Polygon<xy::CoordXy<T>>` to implement `common::_::_serde::Deserialize<'_>`
[INFO] [stdout] note: required by a bound in `serde_json::from_str`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/de.rs:2701:8
[INFO] [stdout]      |
[INFO] [stdout] 2699 | pub fn from_str<'a, T>(s: &'a str) -> Result<T>
[INFO] [stdout]      |        -------- required by a bound in this function
[INFO] [stdout] 2700 | where
[INFO] [stdout] 2701 |     T: de::Deserialize<'a>,
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^ required by this bound in `from_str`
[INFO] [stdout] help: consider restricting type parameter `T` with trait `Deserialize`
[INFO] [stdout]      |
[INFO] [stdout]   71 |     fn polygon<T: common::_::_serde::Deserialize<'_>>() {
[INFO] [stdout]      |                 ++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: CoordNumber` is not satisfied
[INFO] [stdout]   --> src/geometry/polygon.rs:73:19
[INFO] [stdout]    |
[INFO] [stdout] 73 |         let ser = serde_json::to_string(&de).unwrap();
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^ the trait `CoordNumber` is not implemented for `T`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `xy::CoordXy`
[INFO] [stdout]   --> src/geometry/coord/xy.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct CoordXy<T>
[INFO] [stdout]    |            ------- required by a bound in this struct
[INFO] [stdout] 10 | where
[INFO] [stdout] 11 |     T: CoordNumber,
[INFO] [stdout]    |        ^^^^^^^^^^^ required by this bound in `CoordXy`
[INFO] [stdout] help: consider restricting type parameter `T` with trait `CoordNumber`
[INFO] [stdout]    |
[INFO] [stdout] 71 |     fn polygon<T: CoordNumber>() {
[INFO] [stdout]    |                 +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: serde::Serialize` is not satisfied
[INFO] [stdout]     --> src/geometry/polygon.rs:73:41
[INFO] [stdout]      |
[INFO] [stdout]   73 |         let ser = serde_json::to_string(&de).unwrap();
[INFO] [stdout]      |                   --------------------- ^^^ the trait `common::_::_serde::Serialize` is not implemented for `T`
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout]      = note: for local types consider adding `#[derive(serde::Serialize)]` to your `T` type
[INFO] [stdout]      = note: for types from other crates check whether the crate offers a `serde` feature flag
[INFO] [stdout] note: required for `xy::CoordXy<T>` to implement `common::_::_serde::Serialize`
[INFO] [stdout]     --> src/geometry/coord/xy.rs:9:12
[INFO] [stdout]      |
[INFO] [stdout]    7 | #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Copy)]
[INFO] [stdout]      |          --------- type parameter would need to implement `common::_::_serde::Serialize`
[INFO] [stdout]    8 | #[serde(into = "[T;2]", from = "Vec<T>")]
[INFO] [stdout]    9 | pub struct CoordXy<T>
[INFO] [stdout]      |            ^^^^^^^^^^
[INFO] [stdout]      = help: consider manually implementing `common::_::_serde::Serialize` to avoid undesired bounds
[INFO] [stdout]      = note: 1 redundant requirement hidden
[INFO] [stdout]      = note: required for `polygon::Polygon<xy::CoordXy<T>>` to implement `common::_::_serde::Serialize`
[INFO] [stdout] note: required by a bound in `serde_json::to_string`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/ser.rs:2247:17
[INFO] [stdout]      |
[INFO] [stdout] 2245 | pub fn to_string<T>(value: &T) -> Result<String>
[INFO] [stdout]      |        --------- required by a bound in this function
[INFO] [stdout] 2246 | where
[INFO] [stdout] 2247 |     T: ?Sized + Serialize,
[INFO] [stdout]      |                 ^^^^^^^^^ required by this bound in `to_string`
[INFO] [stdout] help: consider restricting type parameter `T` with trait `Serialize`
[INFO] [stdout]      |
[INFO] [stdout]   71 |     fn polygon<T: common::_::_serde::Serialize>() {
[INFO] [stdout]      |                 ++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: CoordNumber` is not satisfied
[INFO] [stdout]   --> src/geometry/polygon.rs:74:20
[INFO] [stdout]    |
[INFO] [stdout] 74 |         let serde: Polygon<CoordXy<T>> = serde_json::from_str(&ser).unwrap();
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^ the trait `CoordNumber` is not implemented for `T`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `xy::CoordXy`
[INFO] [stdout]   --> src/geometry/coord/xy.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct CoordXy<T>
[INFO] [stdout]    |            ------- required by a bound in this struct
[INFO] [stdout] 10 | where
[INFO] [stdout] 11 |     T: CoordNumber,
[INFO] [stdout]    |        ^^^^^^^^^^^ required by this bound in `CoordXy`
[INFO] [stdout] help: consider restricting type parameter `T` with trait `CoordNumber`
[INFO] [stdout]    |
[INFO] [stdout] 71 |     fn polygon<T: CoordNumber>() {
[INFO] [stdout]    |                 +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: CoordNumber` is not satisfied
[INFO] [stdout]   --> src/geometry/polygon.rs:74:42
[INFO] [stdout]    |
[INFO] [stdout] 74 |         let serde: Polygon<CoordXy<T>> = serde_json::from_str(&ser).unwrap();
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `CoordNumber` is not implemented for `T`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `xy::CoordXy`
[INFO] [stdout]   --> src/geometry/coord/xy.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct CoordXy<T>
[INFO] [stdout]    |            ------- required by a bound in this struct
[INFO] [stdout] 10 | where
[INFO] [stdout] 11 |     T: CoordNumber,
[INFO] [stdout]    |        ^^^^^^^^^^^ required by this bound in `CoordXy`
[INFO] [stdout] help: consider restricting type parameter `T` with trait `CoordNumber`
[INFO] [stdout]    |
[INFO] [stdout] 71 |     fn polygon<T: CoordNumber>() {
[INFO] [stdout]    |                 +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: CoordNumber` is not satisfied
[INFO] [stdout]   --> src/geometry/polygon.rs:74:42
[INFO] [stdout]    |
[INFO] [stdout] 74 |         let serde: Polygon<CoordXy<T>> = serde_json::from_str(&ser).unwrap();
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^^^ the trait `CoordNumber` is not implemented for `T`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `xy::CoordXy`
[INFO] [stdout]   --> src/geometry/coord/xy.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct CoordXy<T>
[INFO] [stdout]    |            ------- required by a bound in this struct
[INFO] [stdout] 10 | where
[INFO] [stdout] 11 |     T: CoordNumber,
[INFO] [stdout]    |        ^^^^^^^^^^^ required by this bound in `CoordXy`
[INFO] [stdout] help: consider restricting type parameter `T` with trait `CoordNumber`
[INFO] [stdout]    |
[INFO] [stdout] 71 |     fn polygon<T: CoordNumber>() {
[INFO] [stdout]    |                 +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: serde::Deserialize<'de>` is not satisfied
[INFO] [stdout]     --> src/geometry/polygon.rs:74:42
[INFO] [stdout]      |
[INFO] [stdout]   74 |         let serde: Polygon<CoordXy<T>> = serde_json::from_str(&ser).unwrap();
[INFO] [stdout]      |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `common::_::_serde::Deserialize<'_>` is not implemented for `T`
[INFO] [stdout]      |
[INFO] [stdout]      = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `T` type
[INFO] [stdout]      = note: for types from other crates check whether the crate offers a `serde` feature flag
[INFO] [stdout] note: required for `xy::CoordXy<T>` to implement `common::_::_serde::Deserialize<'_>`
[INFO] [stdout]     --> src/geometry/coord/xy.rs:9:12
[INFO] [stdout]      |
[INFO] [stdout]    7 | #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Copy)]
[INFO] [stdout]      |                     ----------- type parameter would need to implement `common::_::_serde::Deserialize<'_>`
[INFO] [stdout]    8 | #[serde(into = "[T;2]", from = "Vec<T>")]
[INFO] [stdout]    9 | pub struct CoordXy<T>
[INFO] [stdout]      |            ^^^^^^^^^^
[INFO] [stdout]      = help: consider manually implementing `common::_::_serde::Deserialize<'_>` to avoid undesired bounds
[INFO] [stdout]      = note: 1 redundant requirement hidden
[INFO] [stdout]      = note: required for `polygon::Polygon<xy::CoordXy<T>>` to implement `common::_::_serde::Deserialize<'_>`
[INFO] [stdout] note: required by a bound in `serde_json::from_str`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/de.rs:2701:8
[INFO] [stdout]      |
[INFO] [stdout] 2699 | pub fn from_str<'a, T>(s: &'a str) -> Result<T>
[INFO] [stdout]      |        -------- required by a bound in this function
[INFO] [stdout] 2700 | where
[INFO] [stdout] 2701 |     T: de::Deserialize<'a>,
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^ required by this bound in `from_str`
[INFO] [stdout] help: consider restricting type parameter `T` with trait `Deserialize`
[INFO] [stdout]      |
[INFO] [stdout]   71 |     fn polygon<T: common::_::_serde::Deserialize<'_>>() {
[INFO] [stdout]      |                 ++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `polygon::Polygon<xy::CoordXy<T>>`
[INFO] [stdout]   --> src/geometry/polygon.rs:75:9
[INFO] [stdout]    |
[INFO] [stdout] 75 |         assert_eq!(serde, de);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         polygon::Polygon<xy::CoordXy<T>>
[INFO] [stdout]    |         polygon::Polygon<xy::CoordXy<T>>
[INFO] [stdout]    |
[INFO] [stdout] help: consider restricting type parameter `T` with trait `PartialEq`
[INFO] [stdout]    |
[INFO] [stdout] 71 |     fn polygon<T: std::cmp::PartialEq>() {
[INFO] [stdout]    |                 +++++++++++++++++++++
[INFO] [stdout] help: consider restricting type parameter `T` with trait `CoordNumber`
[INFO] [stdout]    |
[INFO] [stdout] 71 |     fn polygon<T: CoordNumber>() {
[INFO] [stdout]    |                 +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: CoordNumber` is not satisfied
[INFO] [stdout]   --> src/geometry/polygon.rs:75:9
[INFO] [stdout]    |
[INFO] [stdout] 75 |         assert_eq!(serde, de);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^ the trait `CoordNumber` is not implemented for `T`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `xy::CoordXy`
[INFO] [stdout]   --> src/geometry/coord/xy.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct CoordXy<T>
[INFO] [stdout]    |            ------- required by a bound in this struct
[INFO] [stdout] 10 | where
[INFO] [stdout] 11 |     T: CoordNumber,
[INFO] [stdout]    |        ^^^^^^^^^^^ required by this bound in `CoordXy`
[INFO] [stdout] help: consider restricting type parameter `T` with trait `CoordNumber`
[INFO] [stdout]    |
[INFO] [stdout] 71 |     fn polygon<T: CoordNumber>() {
[INFO] [stdout]    |                 +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `T` doesn't implement `Debug`
[INFO] [stdout]   --> src/geometry/polygon.rs:75:9
[INFO] [stdout]    |
[INFO] [stdout] 75 |         assert_eq!(serde, de);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^ the trait `Debug` is not implemented for `T`
[INFO] [stdout]    |
[INFO] [stdout] help: consider restricting type parameter `T` with trait `Debug`
[INFO] [stdout]    |
[INFO] [stdout] 71 |     fn polygon<T: std::fmt::Debug>() {
[INFO] [stdout]    |                 +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `T` doesn't implement `Debug`
[INFO] [stdout]   --> src/geometry/polygon.rs:75:9
[INFO] [stdout]    |
[INFO] [stdout] 75 |         assert_eq!(serde, de);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^ the trait `Debug` is not implemented for `T`
[INFO] [stdout]    |
[INFO] [stdout] help: consider restricting type parameter `T` with trait `Debug`
[INFO] [stdout]    |
[INFO] [stdout] 71 |     fn polygon<T: std::fmt::Debug>() {
[INFO] [stdout]    |                 +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: CoordNumber` is not satisfied
[INFO] [stdout]   --> src/geometry/polygon.rs:77:17
[INFO] [stdout]    |
[INFO] [stdout] 77 |         let de: Polygon<CoordXyz<T>> = serde_json::from_str(&xyz()).unwrap();
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^ the trait `CoordNumber` is not implemented for `T`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `xyz::CoordXyz`
[INFO] [stdout]   --> src/geometry/coord/xyz.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct CoordXyz<T>
[INFO] [stdout]    |            -------- required by a bound in this struct
[INFO] [stdout] 10 | where
[INFO] [stdout] 11 |     T: CoordNumber,
[INFO] [stdout]    |        ^^^^^^^^^^^ required by this bound in `CoordXyz`
[INFO] [stdout] help: consider restricting type parameter `T` with trait `CoordNumber`
[INFO] [stdout]    |
[INFO] [stdout] 71 |     fn polygon<T: CoordNumber>() {
[INFO] [stdout]    |                 +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `xyz` in this scope
[INFO] [stdout]   --> src/geometry/polygon.rs:77:62
[INFO] [stdout]    |
[INFO] [stdout] 77 |         let de: Polygon<CoordXyz<T>> = serde_json::from_str(&xyz()).unwrap();
[INFO] [stdout]    |                                                              ^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: CoordNumber` is not satisfied
[INFO] [stdout]   --> src/geometry/polygon.rs:77:40
[INFO] [stdout]    |
[INFO] [stdout] 77 |         let de: Polygon<CoordXyz<T>> = serde_json::from_str(&xyz()).unwrap();
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `CoordNumber` is not implemented for `T`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `xyz::CoordXyz`
[INFO] [stdout]   --> src/geometry/coord/xyz.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct CoordXyz<T>
[INFO] [stdout]    |            -------- required by a bound in this struct
[INFO] [stdout] 10 | where
[INFO] [stdout] 11 |     T: CoordNumber,
[INFO] [stdout]    |        ^^^^^^^^^^^ required by this bound in `CoordXyz`
[INFO] [stdout] help: consider restricting type parameter `T` with trait `CoordNumber`
[INFO] [stdout]    |
[INFO] [stdout] 71 |     fn polygon<T: CoordNumber>() {
[INFO] [stdout]    |                 +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: CoordNumber` is not satisfied
[INFO] [stdout]   --> src/geometry/polygon.rs:77:40
[INFO] [stdout]    |
[INFO] [stdout] 77 |         let de: Polygon<CoordXyz<T>> = serde_json::from_str(&xyz()).unwrap();
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^^ the trait `CoordNumber` is not implemented for `T`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `xyz::CoordXyz`
[INFO] [stdout]   --> src/geometry/coord/xyz.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct CoordXyz<T>
[INFO] [stdout]    |            -------- required by a bound in this struct
[INFO] [stdout] 10 | where
[INFO] [stdout] 11 |     T: CoordNumber,
[INFO] [stdout]    |        ^^^^^^^^^^^ required by this bound in `CoordXyz`
[INFO] [stdout] help: consider restricting type parameter `T` with trait `CoordNumber`
[INFO] [stdout]    |
[INFO] [stdout] 71 |     fn polygon<T: CoordNumber>() {
[INFO] [stdout]    |                 +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: serde::Deserialize<'de>` is not satisfied
[INFO] [stdout]     --> src/geometry/polygon.rs:77:40
[INFO] [stdout]      |
[INFO] [stdout]   77 |         let de: Polygon<CoordXyz<T>> = serde_json::from_str(&xyz()).unwrap();
[INFO] [stdout]      |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `common::_::_serde::Deserialize<'_>` is not implemented for `T`
[INFO] [stdout]      |
[INFO] [stdout]      = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `T` type
[INFO] [stdout]      = note: for types from other crates check whether the crate offers a `serde` feature flag
[INFO] [stdout] note: required for `xyz::CoordXyz<T>` to implement `common::_::_serde::Deserialize<'_>`
[INFO] [stdout]     --> src/geometry/coord/xyz.rs:9:12
[INFO] [stdout]      |
[INFO] [stdout]    7 | #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Copy)]
[INFO] [stdout]      |                     ----------- type parameter would need to implement `common::_::_serde::Deserialize<'_>`
[INFO] [stdout]    8 | #[serde(into = "[T;3]", from = "Vec<T>")]
[INFO] [stdout]    9 | pub struct CoordXyz<T>
[INFO] [stdout]      |            ^^^^^^^^^^^
[INFO] [stdout]      = help: consider manually implementing `common::_::_serde::Deserialize<'_>` to avoid undesired bounds
[INFO] [stdout]      = note: 1 redundant requirement hidden
[INFO] [stdout]      = note: required for `polygon::Polygon<xyz::CoordXyz<T>>` to implement `common::_::_serde::Deserialize<'_>`
[INFO] [stdout] note: required by a bound in `serde_json::from_str`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/de.rs:2701:8
[INFO] [stdout]      |
[INFO] [stdout] 2699 | pub fn from_str<'a, T>(s: &'a str) -> Result<T>
[INFO] [stdout]      |        -------- required by a bound in this function
[INFO] [stdout] 2700 | where
[INFO] [stdout] 2701 |     T: de::Deserialize<'a>,
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^ required by this bound in `from_str`
[INFO] [stdout] help: consider restricting type parameter `T` with trait `Deserialize`
[INFO] [stdout]      |
[INFO] [stdout]   71 |     fn polygon<T: common::_::_serde::Deserialize<'_>>() {
[INFO] [stdout]      |                 ++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: CoordNumber` is not satisfied
[INFO] [stdout]   --> src/geometry/polygon.rs:78:19
[INFO] [stdout]    |
[INFO] [stdout] 78 |         let ser = serde_json::to_string(&de).unwrap();
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^ the trait `CoordNumber` is not implemented for `T`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `xyz::CoordXyz`
[INFO] [stdout]   --> src/geometry/coord/xyz.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct CoordXyz<T>
[INFO] [stdout]    |            -------- required by a bound in this struct
[INFO] [stdout] 10 | where
[INFO] [stdout] 11 |     T: CoordNumber,
[INFO] [stdout]    |        ^^^^^^^^^^^ required by this bound in `CoordXyz`
[INFO] [stdout] help: consider restricting type parameter `T` with trait `CoordNumber`
[INFO] [stdout]    |
[INFO] [stdout] 71 |     fn polygon<T: CoordNumber>() {
[INFO] [stdout]    |                 +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: serde::Serialize` is not satisfied
[INFO] [stdout]     --> src/geometry/polygon.rs:78:41
[INFO] [stdout]      |
[INFO] [stdout]   78 |         let ser = serde_json::to_string(&de).unwrap();
[INFO] [stdout]      |                   --------------------- ^^^ the trait `common::_::_serde::Serialize` is not implemented for `T`
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout]      = note: for local types consider adding `#[derive(serde::Serialize)]` to your `T` type
[INFO] [stdout]      = note: for types from other crates check whether the crate offers a `serde` feature flag
[INFO] [stdout] note: required for `xyz::CoordXyz<T>` to implement `common::_::_serde::Serialize`
[INFO] [stdout]     --> src/geometry/coord/xyz.rs:9:12
[INFO] [stdout]      |
[INFO] [stdout]    7 | #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Copy)]
[INFO] [stdout]      |          --------- type parameter would need to implement `common::_::_serde::Serialize`
[INFO] [stdout]    8 | #[serde(into = "[T;3]", from = "Vec<T>")]
[INFO] [stdout]    9 | pub struct CoordXyz<T>
[INFO] [stdout]      |            ^^^^^^^^^^^
[INFO] [stdout]      = help: consider manually implementing `common::_::_serde::Serialize` to avoid undesired bounds
[INFO] [stdout]      = note: 1 redundant requirement hidden
[INFO] [stdout]      = note: required for `polygon::Polygon<xyz::CoordXyz<T>>` to implement `common::_::_serde::Serialize`
[INFO] [stdout] note: required by a bound in `serde_json::to_string`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/ser.rs:2247:17
[INFO] [stdout]      |
[INFO] [stdout] 2245 | pub fn to_string<T>(value: &T) -> Result<String>
[INFO] [stdout]      |        --------- required by a bound in this function
[INFO] [stdout] 2246 | where
[INFO] [stdout] 2247 |     T: ?Sized + Serialize,
[INFO] [stdout]      |                 ^^^^^^^^^ required by this bound in `to_string`
[INFO] [stdout] help: consider restricting type parameter `T` with trait `Serialize`
[INFO] [stdout]      |
[INFO] [stdout]   71 |     fn polygon<T: common::_::_serde::Serialize>() {
[INFO] [stdout]      |                 ++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: CoordNumber` is not satisfied
[INFO] [stdout]   --> src/geometry/polygon.rs:79:20
[INFO] [stdout]    |
[INFO] [stdout] 79 |         let serde: Polygon<CoordXyz<T>> = serde_json::from_str(&ser).unwrap();
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^ the trait `CoordNumber` is not implemented for `T`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `xyz::CoordXyz`
[INFO] [stdout]   --> src/geometry/coord/xyz.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct CoordXyz<T>
[INFO] [stdout]    |            -------- required by a bound in this struct
[INFO] [stdout] 10 | where
[INFO] [stdout] 11 |     T: CoordNumber,
[INFO] [stdout]    |        ^^^^^^^^^^^ required by this bound in `CoordXyz`
[INFO] [stdout] help: consider restricting type parameter `T` with trait `CoordNumber`
[INFO] [stdout]    |
[INFO] [stdout] 71 |     fn polygon<T: CoordNumber>() {
[INFO] [stdout]    |                 +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: CoordNumber` is not satisfied
[INFO] [stdout]   --> src/geometry/polygon.rs:79:43
[INFO] [stdout]    |
[INFO] [stdout] 79 |         let serde: Polygon<CoordXyz<T>> = serde_json::from_str(&ser).unwrap();
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `CoordNumber` is not implemented for `T`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `xyz::CoordXyz`
[INFO] [stdout]   --> src/geometry/coord/xyz.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct CoordXyz<T>
[INFO] [stdout]    |            -------- required by a bound in this struct
[INFO] [stdout] 10 | where
[INFO] [stdout] 11 |     T: CoordNumber,
[INFO] [stdout]    |        ^^^^^^^^^^^ required by this bound in `CoordXyz`
[INFO] [stdout] help: consider restricting type parameter `T` with trait `CoordNumber`
[INFO] [stdout]    |
[INFO] [stdout] 71 |     fn polygon<T: CoordNumber>() {
[INFO] [stdout]    |                 +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: CoordNumber` is not satisfied
[INFO] [stdout]   --> src/geometry/polygon.rs:79:43
[INFO] [stdout]    |
[INFO] [stdout] 79 |         let serde: Polygon<CoordXyz<T>> = serde_json::from_str(&ser).unwrap();
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^^^^^ the trait `CoordNumber` is not implemented for `T`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `xyz::CoordXyz`
[INFO] [stdout]   --> src/geometry/coord/xyz.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct CoordXyz<T>
[INFO] [stdout]    |            -------- required by a bound in this struct
[INFO] [stdout] 10 | where
[INFO] [stdout] 11 |     T: CoordNumber,
[INFO] [stdout]    |        ^^^^^^^^^^^ required by this bound in `CoordXyz`
[INFO] [stdout] help: consider restricting type parameter `T` with trait `CoordNumber`
[INFO] [stdout]    |
[INFO] [stdout] 71 |     fn polygon<T: CoordNumber>() {
[INFO] [stdout]    |                 +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: serde::Deserialize<'de>` is not satisfied
[INFO] [stdout]     --> src/geometry/polygon.rs:79:43
[INFO] [stdout]      |
[INFO] [stdout]   79 |         let serde: Polygon<CoordXyz<T>> = serde_json::from_str(&ser).unwrap();
[INFO] [stdout]      |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `common::_::_serde::Deserialize<'_>` is not implemented for `T`
[INFO] [stdout]      |
[INFO] [stdout]      = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `T` type
[INFO] [stdout]      = note: for types from other crates check whether the crate offers a `serde` feature flag
[INFO] [stdout] note: required for `xyz::CoordXyz<T>` to implement `common::_::_serde::Deserialize<'_>`
[INFO] [stdout]     --> src/geometry/coord/xyz.rs:9:12
[INFO] [stdout]      |
[INFO] [stdout]    7 | #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Copy)]
[INFO] [stdout]      |                     ----------- type parameter would need to implement `common::_::_serde::Deserialize<'_>`
[INFO] [stdout]    8 | #[serde(into = "[T;3]", from = "Vec<T>")]
[INFO] [stdout]    9 | pub struct CoordXyz<T>
[INFO] [stdout]      |            ^^^^^^^^^^^
[INFO] [stdout]      = help: consider manually implementing `common::_::_serde::Deserialize<'_>` to avoid undesired bounds
[INFO] [stdout]      = note: 1 redundant requirement hidden
[INFO] [stdout]      = note: required for `polygon::Polygon<xyz::CoordXyz<T>>` to implement `common::_::_serde::Deserialize<'_>`
[INFO] [stdout] note: required by a bound in `serde_json::from_str`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/de.rs:2701:8
[INFO] [stdout]      |
[INFO] [stdout] 2699 | pub fn from_str<'a, T>(s: &'a str) -> Result<T>
[INFO] [stdout]      |        -------- required by a bound in this function
[INFO] [stdout] 2700 | where
[INFO] [stdout] 2701 |     T: de::Deserialize<'a>,
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^ required by this bound in `from_str`
[INFO] [stdout] help: consider restricting type parameter `T` with trait `Deserialize`
[INFO] [stdout]      |
[INFO] [stdout]   71 |     fn polygon<T: common::_::_serde::Deserialize<'_>>() {
[INFO] [stdout]      |                 ++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `polygon::Polygon<xyz::CoordXyz<T>>`
[INFO] [stdout]   --> src/geometry/polygon.rs:80:9
[INFO] [stdout]    |
[INFO] [stdout] 80 |         assert_eq!(serde, de);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         polygon::Polygon<xyz::CoordXyz<T>>
[INFO] [stdout]    |         polygon::Polygon<xyz::CoordXyz<T>>
[INFO] [stdout]    |
[INFO] [stdout] help: consider restricting type parameter `T` with trait `PartialEq`
[INFO] [stdout]    |
[INFO] [stdout] 71 |     fn polygon<T: std::cmp::PartialEq>() {
[INFO] [stdout]    |                 +++++++++++++++++++++
[INFO] [stdout] help: consider restricting type parameter `T` with trait `CoordNumber`
[INFO] [stdout]    |
[INFO] [stdout] 71 |     fn polygon<T: CoordNumber>() {
[INFO] [stdout]    |                 +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: CoordNumber` is not satisfied
[INFO] [stdout]   --> src/geometry/polygon.rs:80:9
[INFO] [stdout]    |
[INFO] [stdout] 80 |         assert_eq!(serde, de);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^ the trait `CoordNumber` is not implemented for `T`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `xyz::CoordXyz`
[INFO] [stdout]   --> src/geometry/coord/xyz.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct CoordXyz<T>
[INFO] [stdout]    |            -------- required by a bound in this struct
[INFO] [stdout] 10 | where
[INFO] [stdout] 11 |     T: CoordNumber,
[INFO] [stdout]    |        ^^^^^^^^^^^ required by this bound in `CoordXyz`
[INFO] [stdout] help: consider restricting type parameter `T` with trait `CoordNumber`
[INFO] [stdout]    |
[INFO] [stdout] 71 |     fn polygon<T: CoordNumber>() {
[INFO] [stdout]    |                 +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `T` doesn't implement `Debug`
[INFO] [stdout]   --> src/geometry/polygon.rs:80:9
[INFO] [stdout]    |
[INFO] [stdout] 80 |         assert_eq!(serde, de);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^ the trait `Debug` is not implemented for `T`
[INFO] [stdout]    |
[INFO] [stdout] help: consider restricting type parameter `T` with trait `Debug`
[INFO] [stdout]    |
[INFO] [stdout] 71 |     fn polygon<T: std::fmt::Debug>() {
[INFO] [stdout]    |                 +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `T` doesn't implement `Debug`
[INFO] [stdout]   --> src/geometry/polygon.rs:80:9
[INFO] [stdout]    |
[INFO] [stdout] 80 |         assert_eq!(serde, de);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^ the trait `Debug` is not implemented for `T`
[INFO] [stdout]    |
[INFO] [stdout] help: consider restricting type parameter `T` with trait `Debug`
[INFO] [stdout]    |
[INFO] [stdout] 71 |     fn polygon<T: std::fmt::Debug>() {
[INFO] [stdout]    |                 +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `C: Coord` is not satisfied
[INFO] [stdout]    --> src/js_sdk/graphic.rs:232:17
[INFO] [stdout]     |
[INFO] [stdout] 232 |         let de: Graphic<Point<C>> = serde_json::from_str(&point()).unwrap();
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^ the trait `Coord` is not implemented for `C`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `point::Point`
[INFO] [stdout]    --> src/geometry/point.rs:15:21
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Point<C: Coord> {
[INFO] [stdout]     |                     ^^^^^ required by this bound in `Point`
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Coord`
[INFO] [stdout]     |
[INFO] [stdout] 231 |     fn test_point<C: geometry::coord::Coord>() {
[INFO] [stdout]     |                    ++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `point` in this scope
[INFO] [stdout]    --> src/js_sdk/graphic.rs:232:59
[INFO] [stdout]     |
[INFO] [stdout] 232 |         let de: Graphic<Point<C>> = serde_json::from_str(&point()).unwrap();
[INFO] [stdout]     |                                                           ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `C: Coord` is not satisfied
[INFO] [stdout]    --> src/js_sdk/graphic.rs:232:37
[INFO] [stdout]     |
[INFO] [stdout] 232 |         let de: Graphic<Point<C>> = serde_json::from_str(&point()).unwrap();
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Coord` is not implemented for `C`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `point::Point`
[INFO] [stdout]    --> src/geometry/point.rs:15:21
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Point<C: Coord> {
[INFO] [stdout]     |                     ^^^^^ required by this bound in `Point`
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Coord`
[INFO] [stdout]     |
[INFO] [stdout] 231 |     fn test_point<C: geometry::coord::Coord>() {
[INFO] [stdout]     |                    ++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `C: Coord` is not satisfied
[INFO] [stdout]    --> src/js_sdk/graphic.rs:232:37
[INFO] [stdout]     |
[INFO] [stdout] 232 |         let de: Graphic<Point<C>> = serde_json::from_str(&point()).unwrap();
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^^^^^ the trait `Coord` is not implemented for `C`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `point::Point`
[INFO] [stdout]    --> src/geometry/point.rs:15:21
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Point<C: Coord> {
[INFO] [stdout]     |                     ^^^^^ required by this bound in `Point`
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Coord`
[INFO] [stdout]     |
[INFO] [stdout] 231 |     fn test_point<C: geometry::coord::Coord>() {
[INFO] [stdout]     |                    ++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `C: CoordTrait` is not satisfied
[INFO] [stdout]     --> src/js_sdk/graphic.rs:232:37
[INFO] [stdout]      |
[INFO] [stdout]  232 |         let de: Graphic<Point<C>> = serde_json::from_str(&point()).unwrap();
[INFO] [stdout]      |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `CoordTrait` is not implemented for `C`
[INFO] [stdout]      |
[INFO] [stdout] note: required for `point::Point<C>` to implement `common::_::_serde::Deserialize<'_>`
[INFO] [stdout]     --> src/geometry/point.rs:15:12
[INFO] [stdout]      |
[INFO] [stdout]   12 |         deserialize = "<C as CoordTrait>::T: Deserialize<'de>"
[INFO] [stdout]      |                       ---------------------------------------- unsatisfied trait bound
[INFO] [stdout] ...
[INFO] [stdout]   15 | pub struct Point<C: Coord> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^
[INFO] [stdout]      = help: consider manually implementing `common::_::_serde::Deserialize<'_>` to avoid undesired bounds
[INFO] [stdout]      = note: 1 redundant requirement hidden
[INFO] [stdout]      = note: required for `graphic::Graphic<point::Point<C>>` to implement `common::_::_serde::Deserialize<'_>`
[INFO] [stdout] note: required by a bound in `serde_json::from_str`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/de.rs:2701:8
[INFO] [stdout]      |
[INFO] [stdout] 2699 | pub fn from_str<'a, T>(s: &'a str) -> Result<T>
[INFO] [stdout]      |        -------- required by a bound in this function
[INFO] [stdout] 2700 | where
[INFO] [stdout] 2701 |     T: de::Deserialize<'a>,
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^ required by this bound in `from_str`
[INFO] [stdout] help: consider restricting type parameter `C` with trait `CoordTrait`
[INFO] [stdout]      |
[INFO] [stdout]  231 |     fn test_point<C: geo_traits::CoordTrait>() {
[INFO] [stdout]      |                    ++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `C: Coord` is not satisfied
[INFO] [stdout]    --> src/js_sdk/graphic.rs:233:19
[INFO] [stdout]     |
[INFO] [stdout] 233 |         let ser = serde_json::to_string(&de).unwrap();
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^ the trait `Coord` is not implemented for `C`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `point::Point`
[INFO] [stdout]    --> src/geometry/point.rs:15:21
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Point<C: Coord> {
[INFO] [stdout]     |                     ^^^^^ required by this bound in `Point`
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Coord`
[INFO] [stdout]     |
[INFO] [stdout] 231 |     fn test_point<C: geometry::coord::Coord>() {
[INFO] [stdout]     |                    ++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `C: CoordTrait` is not satisfied
[INFO] [stdout]     --> src/js_sdk/graphic.rs:233:41
[INFO] [stdout]      |
[INFO] [stdout]  233 |         let ser = serde_json::to_string(&de).unwrap();
[INFO] [stdout]      |                   --------------------- ^^^ the trait `CoordTrait` is not implemented for `C`
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout] note: required for `point::Point<C>` to implement `common::_::_serde::Serialize`
[INFO] [stdout]     --> src/geometry/point.rs:15:12
[INFO] [stdout]      |
[INFO] [stdout]   11 |         serialize = "<C as CoordTrait>::T: Serialize",
[INFO] [stdout]      |                     --------------------------------- unsatisfied trait bound
[INFO] [stdout] ...
[INFO] [stdout]   15 | pub struct Point<C: Coord> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^
[INFO] [stdout]      = help: consider manually implementing `common::_::_serde::Serialize` to avoid undesired bounds
[INFO] [stdout]      = note: 1 redundant requirement hidden
[INFO] [stdout]      = note: required for `graphic::Graphic<point::Point<C>>` to implement `common::_::_serde::Serialize`
[INFO] [stdout] note: required by a bound in `serde_json::to_string`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/ser.rs:2247:17
[INFO] [stdout]      |
[INFO] [stdout] 2245 | pub fn to_string<T>(value: &T) -> Result<String>
[INFO] [stdout]      |        --------- required by a bound in this function
[INFO] [stdout] 2246 | where
[INFO] [stdout] 2247 |     T: ?Sized + Serialize,
[INFO] [stdout]      |                 ^^^^^^^^^ required by this bound in `to_string`
[INFO] [stdout] help: consider restricting type parameter `C` with trait `CoordTrait`
[INFO] [stdout]      |
[INFO] [stdout]  231 |     fn test_point<C: geo_traits::CoordTrait>() {
[INFO] [stdout]      |                    ++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `C: Coord` is not satisfied
[INFO] [stdout]    --> src/js_sdk/graphic.rs:234:20
[INFO] [stdout]     |
[INFO] [stdout] 234 |         let serde: Graphic<Point<C>> = serde_json::from_str(&ser).unwrap();
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^ the trait `Coord` is not implemented for `C`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `point::Point`
[INFO] [stdout]    --> src/geometry/point.rs:15:21
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Point<C: Coord> {
[INFO] [stdout]     |                     ^^^^^ required by this bound in `Point`
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Coord`
[INFO] [stdout]     |
[INFO] [stdout] 231 |     fn test_point<C: geometry::coord::Coord>() {
[INFO] [stdout]     |                    ++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `C: Coord` is not satisfied
[INFO] [stdout]    --> src/js_sdk/graphic.rs:234:40
[INFO] [stdout]     |
[INFO] [stdout] 234 |         let serde: Graphic<Point<C>> = serde_json::from_str(&ser).unwrap();
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Coord` is not implemented for `C`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `point::Point`
[INFO] [stdout]    --> src/geometry/point.rs:15:21
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Point<C: Coord> {
[INFO] [stdout]     |                     ^^^^^ required by this bound in `Point`
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Coord`
[INFO] [stdout]     |
[INFO] [stdout] 231 |     fn test_point<C: geometry::coord::Coord>() {
[INFO] [stdout]     |                    ++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `C: Coord` is not satisfied
[INFO] [stdout]    --> src/js_sdk/graphic.rs:234:40
[INFO] [stdout]     |
[INFO] [stdout] 234 |         let serde: Graphic<Point<C>> = serde_json::from_str(&ser).unwrap();
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^ the trait `Coord` is not implemented for `C`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `point::Point`
[INFO] [stdout]    --> src/geometry/point.rs:15:21
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Point<C: Coord> {
[INFO] [stdout]     |                     ^^^^^ required by this bound in `Point`
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Coord`
[INFO] [stdout]     |
[INFO] [stdout] 231 |     fn test_point<C: geometry::coord::Coord>() {
[INFO] [stdout]     |                    ++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `C: CoordTrait` is not satisfied
[INFO] [stdout]     --> src/js_sdk/graphic.rs:234:40
[INFO] [stdout]      |
[INFO] [stdout]  234 |         let serde: Graphic<Point<C>> = serde_json::from_str(&ser).unwrap();
[INFO] [stdout]      |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `CoordTrait` is not implemented for `C`
[INFO] [stdout]      |
[INFO] [stdout] note: required for `point::Point<C>` to implement `common::_::_serde::Deserialize<'_>`
[INFO] [stdout]     --> src/geometry/point.rs:15:12
[INFO] [stdout]      |
[INFO] [stdout]   12 |         deserialize = "<C as CoordTrait>::T: Deserialize<'de>"
[INFO] [stdout]      |                       ---------------------------------------- unsatisfied trait bound
[INFO] [stdout] ...
[INFO] [stdout]   15 | pub struct Point<C: Coord> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^
[INFO] [stdout]      = help: consider manually implementing `common::_::_serde::Deserialize<'_>` to avoid undesired bounds
[INFO] [stdout]      = note: 1 redundant requirement hidden
[INFO] [stdout]      = note: required for `graphic::Graphic<point::Point<C>>` to implement `common::_::_serde::Deserialize<'_>`
[INFO] [stdout] note: required by a bound in `serde_json::from_str`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/de.rs:2701:8
[INFO] [stdout]      |
[INFO] [stdout] 2699 | pub fn from_str<'a, T>(s: &'a str) -> Result<T>
[INFO] [stdout]      |        -------- required by a bound in this function
[INFO] [stdout] 2700 | where
[INFO] [stdout] 2701 |     T: de::Deserialize<'a>,
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^ required by this bound in `from_str`
[INFO] [stdout] help: consider restricting type parameter `C` with trait `CoordTrait`
[INFO] [stdout]      |
[INFO] [stdout]  231 |     fn test_point<C: geo_traits::CoordTrait>() {
[INFO] [stdout]      |                    ++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `graphic::Graphic<point::Point<C>>`
[INFO] [stdout]    --> src/js_sdk/graphic.rs:235:9
[INFO] [stdout]     |
[INFO] [stdout] 235 |         assert_eq!(serde, de);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         graphic::Graphic<point::Point<C>>
[INFO] [stdout]     |         graphic::Graphic<point::Point<C>>
[INFO] [stdout]     |
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Coord`
[INFO] [stdout]     |
[INFO] [stdout] 231 |     fn test_point<C: geometry::coord::Coord>() {
[INFO] [stdout]     |                    ++++++++++++++++++++++++
[INFO] [stdout] help: consider restricting type parameter `C` with trait `PartialEq`
[INFO] [stdout]     |
[INFO] [stdout] 231 |     fn test_point<C: std::cmp::PartialEq>() {
[INFO] [stdout]     |                    +++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `C: Coord` is not satisfied
[INFO] [stdout]    --> src/js_sdk/graphic.rs:235:9
[INFO] [stdout]     |
[INFO] [stdout] 235 |         assert_eq!(serde, de);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^ the trait `Coord` is not implemented for `C`
[INFO] [stdout]     |
[INFO] [stdout] note: required for `point::Point<C>` to implement `GeometrySymbolPair`
[INFO] [stdout]    --> src/js_sdk/graphic.rs:23:16
[INFO] [stdout]     |
[INFO] [stdout]  23 | impl<C: Coord> GeometrySymbolPair for Point<C> {
[INFO] [stdout]     |         -----  ^^^^^^^^^^^^^^^^^^     ^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         unsatisfied trait bound introduced here
[INFO] [stdout] note: required for `graphic::Graphic<point::Point<C>>` to implement `PartialEq`
[INFO] [stdout]    --> src/js_sdk/graphic.rs:44:12
[INFO] [stdout]     |
[INFO] [stdout]  43 | #[derive(Clone, Serialize, Deserialize, Debug, PartialEq)]
[INFO] [stdout]     |                                                ---------
[INFO] [stdout]     |                                                |
[INFO] [stdout]     |                                                type parameter would need to implement `PartialEq`
[INFO] [stdout]     |                                                in this derive macro expansion
[INFO] [stdout]  44 | pub struct Graphic<G>
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout]     = help: consider manually implementing `PartialEq` to avoid undesired bounds
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Coord`
[INFO] [stdout]     |
[INFO] [stdout] 231 |     fn test_point<C: geometry::coord::Coord>() {
[INFO] [stdout]     |                    ++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `C` doesn't implement `Debug`
[INFO] [stdout]    --> src/js_sdk/graphic.rs:235:9
[INFO] [stdout]     |
[INFO] [stdout] 235 |         assert_eq!(serde, de);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^ the trait `Debug` is not implemented for `C`
[INFO] [stdout]     |
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Debug`
[INFO] [stdout]     |
[INFO] [stdout] 231 |     fn test_point<C: std::fmt::Debug>() {
[INFO] [stdout]     |                    +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `C` doesn't implement `Debug`
[INFO] [stdout]    --> src/js_sdk/graphic.rs:235:9
[INFO] [stdout]     |
[INFO] [stdout] 235 |         assert_eq!(serde, de);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^ the trait `Debug` is not implemented for `C`
[INFO] [stdout]     |
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Debug`
[INFO] [stdout]     |
[INFO] [stdout] 231 |     fn test_point<C: std::fmt::Debug>() {
[INFO] [stdout]     |                    +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `C: Coord` is not satisfied
[INFO] [stdout]    --> src/js_sdk/graphic.rs:240:17
[INFO] [stdout]     |
[INFO] [stdout] 240 |         let de: Graphic<Polyline<C>> = serde_json::from_str(&polyline()).unwrap();
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^ the trait `Coord` is not implemented for `C`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `polyline::Polyline`
[INFO] [stdout]    --> src/geometry/polyline.rs:8:24
[INFO] [stdout]     |
[INFO] [stdout]   8 | pub struct Polyline<C: Coord> {
[INFO] [stdout]     |                        ^^^^^ required by this bound in `Polyline`
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Coord`
[INFO] [stdout]     |
[INFO] [stdout] 239 |     fn test_polyline<C: geometry::coord::Coord>() {
[INFO] [stdout]     |                       ++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `polyline` in this scope
[INFO] [stdout]    --> src/js_sdk/graphic.rs:240:62
[INFO] [stdout]     |
[INFO] [stdout] 240 |         let de: Graphic<Polyline<C>> = serde_json::from_str(&polyline()).unwrap();
[INFO] [stdout]     |                                                              ^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `C: Coord` is not satisfied
[INFO] [stdout]    --> src/js_sdk/graphic.rs:240:40
[INFO] [stdout]     |
[INFO] [stdout] 240 |         let de: Graphic<Polyline<C>> = serde_json::from_str(&polyline()).unwrap();
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Coord` is not implemented for `C`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `polyline::Polyline`
[INFO] [stdout]    --> src/geometry/polyline.rs:8:24
[INFO] [stdout]     |
[INFO] [stdout]   8 | pub struct Polyline<C: Coord> {
[INFO] [stdout]     |                        ^^^^^ required by this bound in `Polyline`
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Coord`
[INFO] [stdout]     |
[INFO] [stdout] 239 |     fn test_polyline<C: geometry::coord::Coord>() {
[INFO] [stdout]     |                       ++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `C: Coord` is not satisfied
[INFO] [stdout]    --> src/js_sdk/graphic.rs:240:40
[INFO] [stdout]     |
[INFO] [stdout] 240 |         let de: Graphic<Polyline<C>> = serde_json::from_str(&polyline()).unwrap();
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^ the trait `Coord` is not implemented for `C`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `polyline::Polyline`
[INFO] [stdout]    --> src/geometry/polyline.rs:8:24
[INFO] [stdout]     |
[INFO] [stdout]   8 | pub struct Polyline<C: Coord> {
[INFO] [stdout]     |                        ^^^^^ required by this bound in `Polyline`
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Coord`
[INFO] [stdout]     |
[INFO] [stdout] 239 |     fn test_polyline<C: geometry::coord::Coord>() {
[INFO] [stdout]     |                       ++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `C: serde::Deserialize<'de>` is not satisfied
[INFO] [stdout]     --> src/js_sdk/graphic.rs:240:40
[INFO] [stdout]      |
[INFO] [stdout]  240 |         let de: Graphic<Polyline<C>> = serde_json::from_str(&polyline()).unwrap();
[INFO] [stdout]      |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `common::_::_serde::Deserialize<'_>` is not implemented for `C`
[INFO] [stdout]      |
[INFO] [stdout]      = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `C` type
[INFO] [stdout]      = note: for types from other crates check whether the crate offers a `serde` feature flag
[INFO] [stdout] note: required for `polyline::Polyline<C>` to implement `common::_::_serde::Deserialize<'_>`
[INFO] [stdout]     --> src/geometry/polyline.rs:8:12
[INFO] [stdout]      |
[INFO] [stdout]    6 | #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
[INFO] [stdout]      |          ----------- type parameter would need to implement `common::_::_serde::Deserialize<'_>`
[INFO] [stdout]    7 | // #[serde(bound(serialize = "C: Serialize", deserialize = "C: Deserialize<'de>"))]
[INFO] [stdout]    8 | pub struct Polyline<C: Coord> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = help: consider manually implementing `common::_::_serde::Deserialize<'_>` to avoid undesired bounds
[INFO] [stdout]      = note: 1 redundant requirement hidden
[INFO] [stdout]      = note: required for `graphic::Graphic<polyline::Polyline<C>>` to implement `common::_::_serde::Deserialize<'_>`
[INFO] [stdout] note: required by a bound in `serde_json::from_str`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/de.rs:2701:8
[INFO] [stdout]      |
[INFO] [stdout] 2699 | pub fn from_str<'a, T>(s: &'a str) -> Result<T>
[INFO] [stdout]      |        -------- required by a bound in this function
[INFO] [stdout] 2700 | where
[INFO] [stdout] 2701 |     T: de::Deserialize<'a>,
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^ required by this bound in `from_str`
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Deserialize`
[INFO] [stdout]      |
[INFO] [stdout]  239 |     fn test_polyline<C: common::_::_serde::Deserialize<'_>>() {
[INFO] [stdout]      |                       ++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `C: Coord` is not satisfied
[INFO] [stdout]    --> src/js_sdk/graphic.rs:241:19
[INFO] [stdout]     |
[INFO] [stdout] 241 |         let ser = serde_json::to_string(&de).unwrap();
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^ the trait `Coord` is not implemented for `C`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `polyline::Polyline`
[INFO] [stdout]    --> src/geometry/polyline.rs:8:24
[INFO] [stdout]     |
[INFO] [stdout]   8 | pub struct Polyline<C: Coord> {
[INFO] [stdout]     |                        ^^^^^ required by this bound in `Polyline`
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Coord`
[INFO] [stdout]     |
[INFO] [stdout] 239 |     fn test_polyline<C: geometry::coord::Coord>() {
[INFO] [stdout]     |                       ++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `C: serde::Serialize` is not satisfied
[INFO] [stdout]     --> src/js_sdk/graphic.rs:241:41
[INFO] [stdout]      |
[INFO] [stdout]  241 |         let ser = serde_json::to_string(&de).unwrap();
[INFO] [stdout]      |                   --------------------- ^^^ the trait `common::_::_serde::Serialize` is not implemented for `C`
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout]      = note: for local types consider adding `#[derive(serde::Serialize)]` to your `C` type
[INFO] [stdout]      = note: for types from other crates check whether the crate offers a `serde` feature flag
[INFO] [stdout] note: required for `polyline::Polyline<C>` to implement `common::_::_serde::Serialize`
[INFO] [stdout]     --> src/geometry/polyline.rs:8:12
[INFO] [stdout]      |
[INFO] [stdout]    6 | #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
[INFO] [stdout]      |                       --------- type parameter would need to implement `common::_::_serde::Serialize`
[INFO] [stdout]    7 | // #[serde(bound(serialize = "C: Serialize", deserialize = "C: Deserialize<'de>"))]
[INFO] [stdout]    8 | pub struct Polyline<C: Coord> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = help: consider manually implementing `common::_::_serde::Serialize` to avoid undesired bounds
[INFO] [stdout]      = note: 1 redundant requirement hidden
[INFO] [stdout]      = note: required for `graphic::Graphic<polyline::Polyline<C>>` to implement `common::_::_serde::Serialize`
[INFO] [stdout] note: required by a bound in `serde_json::to_string`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/ser.rs:2247:17
[INFO] [stdout]      |
[INFO] [stdout] 2245 | pub fn to_string<T>(value: &T) -> Result<String>
[INFO] [stdout]      |        --------- required by a bound in this function
[INFO] [stdout] 2246 | where
[INFO] [stdout] 2247 |     T: ?Sized + Serialize,
[INFO] [stdout]      |                 ^^^^^^^^^ required by this bound in `to_string`
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Serialize`
[INFO] [stdout]      |
[INFO] [stdout]  239 |     fn test_polyline<C: common::_::_serde::Serialize>() {
[INFO] [stdout]      |                       ++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `C: Coord` is not satisfied
[INFO] [stdout]    --> src/js_sdk/graphic.rs:242:20
[INFO] [stdout]     |
[INFO] [stdout] 242 |         let serde: Graphic<Polyline<C>> = serde_json::from_str(&ser).unwrap();
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^ the trait `Coord` is not implemented for `C`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `polyline::Polyline`
[INFO] [stdout]    --> src/geometry/polyline.rs:8:24
[INFO] [stdout]     |
[INFO] [stdout]   8 | pub struct Polyline<C: Coord> {
[INFO] [stdout]     |                        ^^^^^ required by this bound in `Polyline`
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Coord`
[INFO] [stdout]     |
[INFO] [stdout] 239 |     fn test_polyline<C: geometry::coord::Coord>() {
[INFO] [stdout]     |                       ++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `C: Coord` is not satisfied
[INFO] [stdout]    --> src/js_sdk/graphic.rs:242:43
[INFO] [stdout]     |
[INFO] [stdout] 242 |         let serde: Graphic<Polyline<C>> = serde_json::from_str(&ser).unwrap();
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Coord` is not implemented for `C`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `polyline::Polyline`
[INFO] [stdout]    --> src/geometry/polyline.rs:8:24
[INFO] [stdout]     |
[INFO] [stdout]   8 | pub struct Polyline<C: Coord> {
[INFO] [stdout]     |                        ^^^^^ required by this bound in `Polyline`
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Coord`
[INFO] [stdout]     |
[INFO] [stdout] 239 |     fn test_polyline<C: geometry::coord::Coord>() {
[INFO] [stdout]     |                       ++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `C: Coord` is not satisfied
[INFO] [stdout]    --> src/js_sdk/graphic.rs:242:43
[INFO] [stdout]     |
[INFO] [stdout] 242 |         let serde: Graphic<Polyline<C>> = serde_json::from_str(&ser).unwrap();
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^^ the trait `Coord` is not implemented for `C`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `polyline::Polyline`
[INFO] [stdout]    --> src/geometry/polyline.rs:8:24
[INFO] [stdout]     |
[INFO] [stdout]   8 | pub struct Polyline<C: Coord> {
[INFO] [stdout]     |                        ^^^^^ required by this bound in `Polyline`
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Coord`
[INFO] [stdout]     |
[INFO] [stdout] 239 |     fn test_polyline<C: geometry::coord::Coord>() {
[INFO] [stdout]     |                       ++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `C: serde::Deserialize<'de>` is not satisfied
[INFO] [stdout]     --> src/js_sdk/graphic.rs:242:43
[INFO] [stdout]      |
[INFO] [stdout]  242 |         let serde: Graphic<Polyline<C>> = serde_json::from_str(&ser).unwrap();
[INFO] [stdout]      |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `common::_::_serde::Deserialize<'_>` is not implemented for `C`
[INFO] [stdout]      |
[INFO] [stdout]      = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `C` type
[INFO] [stdout]      = note: for types from other crates check whether the crate offers a `serde` feature flag
[INFO] [stdout] note: required for `polyline::Polyline<C>` to implement `common::_::_serde::Deserialize<'_>`
[INFO] [stdout]     --> src/geometry/polyline.rs:8:12
[INFO] [stdout]      |
[INFO] [stdout]    6 | #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
[INFO] [stdout]      |          ----------- type parameter would need to implement `common::_::_serde::Deserialize<'_>`
[INFO] [stdout]    7 | // #[serde(bound(serialize = "C: Serialize", deserialize = "C: Deserialize<'de>"))]
[INFO] [stdout]    8 | pub struct Polyline<C: Coord> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = help: consider manually implementing `common::_::_serde::Deserialize<'_>` to avoid undesired bounds
[INFO] [stdout]      = note: 1 redundant requirement hidden
[INFO] [stdout]      = note: required for `graphic::Graphic<polyline::Polyline<C>>` to implement `common::_::_serde::Deserialize<'_>`
[INFO] [stdout] note: required by a bound in `serde_json::from_str`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/de.rs:2701:8
[INFO] [stdout]      |
[INFO] [stdout] 2699 | pub fn from_str<'a, T>(s: &'a str) -> Result<T>
[INFO] [stdout]      |        -------- required by a bound in this function
[INFO] [stdout] 2700 | where
[INFO] [stdout] 2701 |     T: de::Deserialize<'a>,
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^ required by this bound in `from_str`
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Deserialize`
[INFO] [stdout]      |
[INFO] [stdout]  239 |     fn test_polyline<C: common::_::_serde::Deserialize<'_>>() {
[INFO] [stdout]      |                       ++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `graphic::Graphic<polyline::Polyline<C>>`
[INFO] [stdout]    --> src/js_sdk/graphic.rs:243:9
[INFO] [stdout]     |
[INFO] [stdout] 243 |         assert_eq!(serde, de);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         graphic::Graphic<polyline::Polyline<C>>
[INFO] [stdout]     |         graphic::Graphic<polyline::Polyline<C>>
[INFO] [stdout]     |
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Coord`
[INFO] [stdout]     |
[INFO] [stdout] 239 |     fn test_polyline<C: geometry::coord::Coord>() {
[INFO] [stdout]     |                       ++++++++++++++++++++++++
[INFO] [stdout] help: consider restricting type parameter `C` with trait `PartialEq`
[INFO] [stdout]     |
[INFO] [stdout] 239 |     fn test_polyline<C: std::cmp::PartialEq>() {
[INFO] [stdout]     |                       +++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `C: Coord` is not satisfied
[INFO] [stdout]    --> src/js_sdk/graphic.rs:243:9
[INFO] [stdout]     |
[INFO] [stdout] 243 |         assert_eq!(serde, de);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^ the trait `Coord` is not implemented for `C`
[INFO] [stdout]     |
[INFO] [stdout] note: required for `polyline::Polyline<C>` to implement `GeometrySymbolPair`
[INFO] [stdout]    --> src/js_sdk/graphic.rs:31:16
[INFO] [stdout]     |
[INFO] [stdout]  31 | impl<C: Coord> GeometrySymbolPair for Polyline<C> {
[INFO] [stdout]     |         -----  ^^^^^^^^^^^^^^^^^^     ^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         unsatisfied trait bound introduced here
[INFO] [stdout] note: required for `graphic::Graphic<polyline::Polyline<C>>` to implement `PartialEq`
[INFO] [stdout]    --> src/js_sdk/graphic.rs:44:12
[INFO] [stdout]     |
[INFO] [stdout]  43 | #[derive(Clone, Serialize, Deserialize, Debug, PartialEq)]
[INFO] [stdout]     |                                                ---------
[INFO] [stdout]     |                                                |
[INFO] [stdout]     |                                                type parameter would need to implement `PartialEq`
[INFO] [stdout]     |                                                in this derive macro expansion
[INFO] [stdout]  44 | pub struct Graphic<G>
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout]     = help: consider manually implementing `PartialEq` to avoid undesired bounds
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Coord`
[INFO] [stdout]     |
[INFO] [stdout] 239 |     fn test_polyline<C: geometry::coord::Coord>() {
[INFO] [stdout]     |                       ++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `C` doesn't implement `Debug`
[INFO] [stdout]    --> src/js_sdk/graphic.rs:243:9
[INFO] [stdout]     |
[INFO] [stdout] 243 |         assert_eq!(serde, de);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^ the trait `Debug` is not implemented for `C`
[INFO] [stdout]     |
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Debug`
[INFO] [stdout]     |
[INFO] [stdout] 239 |     fn test_polyline<C: std::fmt::Debug>() {
[INFO] [stdout]     |                       +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `C` doesn't implement `Debug`
[INFO] [stdout]    --> src/js_sdk/graphic.rs:243:9
[INFO] [stdout]     |
[INFO] [stdout] 243 |         assert_eq!(serde, de);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^ the trait `Debug` is not implemented for `C`
[INFO] [stdout]     |
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Debug`
[INFO] [stdout]     |
[INFO] [stdout] 239 |     fn test_polyline<C: std::fmt::Debug>() {
[INFO] [stdout]     |                       +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `C: Coord` is not satisfied
[INFO] [stdout]    --> src/js_sdk/graphic.rs:248:17
[INFO] [stdout]     |
[INFO] [stdout] 248 |         let de: Graphic<Polygon<C>> = serde_json::from_str(&polygon()).unwrap();
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^ the trait `Coord` is not implemented for `C`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `polygon::Polygon`
[INFO] [stdout]    --> src/geometry/polygon.rs:10:23
[INFO] [stdout]     |
[INFO] [stdout]  10 | pub struct Polygon<C: Coord> {
[INFO] [stdout]     |                       ^^^^^ required by this bound in `Polygon`
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Coord`
[INFO] [stdout]     |
[INFO] [stdout] 247 |     fn test_polygon<C: geometry::coord::Coord>() {
[INFO] [stdout]     |                      ++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `C: Coord` is not satisfied
[INFO] [stdout]    --> src/js_sdk/graphic.rs:248:39
[INFO] [stdout]     |
[INFO] [stdout] 248 |         let de: Graphic<Polygon<C>> = serde_json::from_str(&polygon()).unwrap();
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Coord` is not implemented for `C`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `polygon::Polygon`
[INFO] [stdout]    --> src/geometry/polygon.rs:10:23
[INFO] [stdout]     |
[INFO] [stdout]  10 | pub struct Polygon<C: Coord> {
[INFO] [stdout]     |                       ^^^^^ required by this bound in `Polygon`
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Coord`
[INFO] [stdout]     |
[INFO] [stdout] 247 |     fn test_polygon<C: geometry::coord::Coord>() {
[INFO] [stdout]     |                      ++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `C: Coord` is not satisfied
[INFO] [stdout]    --> src/js_sdk/graphic.rs:248:39
[INFO] [stdout]     |
[INFO] [stdout] 248 |         let de: Graphic<Polygon<C>> = serde_json::from_str(&polygon()).unwrap();
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^ the trait `Coord` is not implemented for `C`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `polygon::Polygon`
[INFO] [stdout]    --> src/geometry/polygon.rs:10:23
[INFO] [stdout]     |
[INFO] [stdout]  10 | pub struct Polygon<C: Coord> {
[INFO] [stdout]     |                       ^^^^^ required by this bound in `Polygon`
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Coord`
[INFO] [stdout]     |
[INFO] [stdout] 247 |     fn test_polygon<C: geometry::coord::Coord>() {
[INFO] [stdout]     |                      ++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `C: serde::Deserialize<'de>` is not satisfied
[INFO] [stdout]     --> src/js_sdk/graphic.rs:248:39
[INFO] [stdout]      |
[INFO] [stdout]  248 |         let de: Graphic<Polygon<C>> = serde_json::from_str(&polygon()).unwrap();
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `common::_::_serde::Deserialize<'_>` is not implemented for `C`
[INFO] [stdout]      |
[INFO] [stdout]      = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `C` type
[INFO] [stdout]      = note: for types from other crates check whether the crate offers a `serde` feature flag
[INFO] [stdout] note: required for `polygon::Polygon<C>` to implement `common::_::_serde::Deserialize<'_>`
[INFO] [stdout]     --> src/geometry/polygon.rs:10:12
[INFO] [stdout]      |
[INFO] [stdout]    9 | #[serde(bound(serialize = "C: Serialize", deserialize = "C: Deserialize<'de>"))]
[INFO] [stdout]      |                                                         --------------------- unsatisfied trait bound
[INFO] [stdout]   10 | pub struct Polygon<C: Coord> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = help: consider manually implementing `common::_::_serde::Deserialize<'_>` to avoid undesired bounds
[INFO] [stdout]      = note: 1 redundant requirement hidden
[INFO] [stdout]      = note: required for `graphic::Graphic<polygon::Polygon<C>>` to implement `common::_::_serde::Deserialize<'_>`
[INFO] [stdout] note: required by a bound in `serde_json::from_str`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/de.rs:2701:8
[INFO] [stdout]      |
[INFO] [stdout] 2699 | pub fn from_str<'a, T>(s: &'a str) -> Result<T>
[INFO] [stdout]      |        -------- required by a bound in this function
[INFO] [stdout] 2700 | where
[INFO] [stdout] 2701 |     T: de::Deserialize<'a>,
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^ required by this bound in `from_str`
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Deserialize`
[INFO] [stdout]      |
[INFO] [stdout]  247 |     fn test_polygon<C: common::_::_serde::Deserialize<'_>>() {
[INFO] [stdout]      |                      ++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `C: Coord` is not satisfied
[INFO] [stdout]    --> src/js_sdk/graphic.rs:249:19
[INFO] [stdout]     |
[INFO] [stdout] 249 |         let ser = serde_json::to_string(&de).unwrap();
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^ the trait `Coord` is not implemented for `C`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `polygon::Polygon`
[INFO] [stdout]    --> src/geometry/polygon.rs:10:23
[INFO] [stdout]     |
[INFO] [stdout]  10 | pub struct Polygon<C: Coord> {
[INFO] [stdout]     |                       ^^^^^ required by this bound in `Polygon`
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Coord`
[INFO] [stdout]     |
[INFO] [stdout] 247 |     fn test_polygon<C: geometry::coord::Coord>() {
[INFO] [stdout]     |                      ++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `C: serde::Serialize` is not satisfied
[INFO] [stdout]     --> src/js_sdk/graphic.rs:249:41
[INFO] [stdout]      |
[INFO] [stdout]  249 |         let ser = serde_json::to_string(&de).unwrap();
[INFO] [stdout]      |                   --------------------- ^^^ the trait `common::_::_serde::Serialize` is not implemented for `C`
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout]      = note: for local types consider adding `#[derive(serde::Serialize)]` to your `C` type
[INFO] [stdout]      = note: for types from other crates check whether the crate offers a `serde` feature flag
[INFO] [stdout] note: required for `polygon::Polygon<C>` to implement `common::_::_serde::Serialize`
[INFO] [stdout]     --> src/geometry/polygon.rs:10:12
[INFO] [stdout]      |
[INFO] [stdout]    9 | #[serde(bound(serialize = "C: Serialize", deserialize = "C: Deserialize<'de>"))]
[INFO] [stdout]      |                           -------------- unsatisfied trait bound
[INFO] [stdout]   10 | pub struct Polygon<C: Coord> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = help: consider manually implementing `common::_::_serde::Serialize` to avoid undesired bounds
[INFO] [stdout]      = note: 1 redundant requirement hidden
[INFO] [stdout]      = note: required for `graphic::Graphic<polygon::Polygon<C>>` to implement `common::_::_serde::Serialize`
[INFO] [stdout] note: required by a bound in `serde_json::to_string`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/ser.rs:2247:17
[INFO] [stdout]      |
[INFO] [stdout] 2245 | pub fn to_string<T>(value: &T) -> Result<String>
[INFO] [stdout]      |        --------- required by a bound in this function
[INFO] [stdout] 2246 | where
[INFO] [stdout] 2247 |     T: ?Sized + Serialize,
[INFO] [stdout]      |                 ^^^^^^^^^ required by this bound in `to_string`
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Serialize`
[INFO] [stdout]      |
[INFO] [stdout]  247 |     fn test_polygon<C: common::_::_serde::Serialize>() {
[INFO] [stdout]      |                      ++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `C: Coord` is not satisfied
[INFO] [stdout]    --> src/js_sdk/graphic.rs:250:20
[INFO] [stdout]     |
[INFO] [stdout] 250 |         let serde: Graphic<Polygon<C>> = serde_json::from_str(&ser).unwrap();
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^ the trait `Coord` is not implemented for `C`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `polygon::Polygon`
[INFO] [stdout]    --> src/geometry/polygon.rs:10:23
[INFO] [stdout]     |
[INFO] [stdout]  10 | pub struct Polygon<C: Coord> {
[INFO] [stdout]     |                       ^^^^^ required by this bound in `Polygon`
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Coord`
[INFO] [stdout]     |
[INFO] [stdout] 247 |     fn test_polygon<C: geometry::coord::Coord>() {
[INFO] [stdout]     |                      ++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `C: Coord` is not satisfied
[INFO] [stdout]    --> src/js_sdk/graphic.rs:250:42
[INFO] [stdout]     |
[INFO] [stdout] 250 |         let serde: Graphic<Polygon<C>> = serde_json::from_str(&ser).unwrap();
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Coord` is not implemented for `C`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `polygon::Polygon`
[INFO] [stdout]    --> src/geometry/polygon.rs:10:23
[INFO] [stdout]     |
[INFO] [stdout]  10 | pub struct Polygon<C: Coord> {
[INFO] [stdout]     |                       ^^^^^ required by this bound in `Polygon`
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Coord`
[INFO] [stdout]     |
[INFO] [stdout] 247 |     fn test_polygon<C: geometry::coord::Coord>() {
[INFO] [stdout]     |                      ++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `C: Coord` is not satisfied
[INFO] [stdout]    --> src/js_sdk/graphic.rs:250:42
[INFO] [stdout]     |
[INFO] [stdout] 250 |         let serde: Graphic<Polygon<C>> = serde_json::from_str(&ser).unwrap();
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^^ the trait `Coord` is not implemented for `C`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `polygon::Polygon`
[INFO] [stdout]    --> src/geometry/polygon.rs:10:23
[INFO] [stdout]     |
[INFO] [stdout]  10 | pub struct Polygon<C: Coord> {
[INFO] [stdout]     |                       ^^^^^ required by this bound in `Polygon`
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Coord`
[INFO] [stdout]     |
[INFO] [stdout] 247 |     fn test_polygon<C: geometry::coord::Coord>() {
[INFO] [stdout]     |                      ++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `C: serde::Deserialize<'de>` is not satisfied
[INFO] [stdout]     --> src/js_sdk/graphic.rs:250:42
[INFO] [stdout]      |
[INFO] [stdout]  250 |         let serde: Graphic<Polygon<C>> = serde_json::from_str(&ser).unwrap();
[INFO] [stdout]      |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `common::_::_serde::Deserialize<'_>` is not implemented for `C`
[INFO] [stdout]      |
[INFO] [stdout]      = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `C` type
[INFO] [stdout]      = note: for types from other crates check whether the crate offers a `serde` feature flag
[INFO] [stdout] note: required for `polygon::Polygon<C>` to implement `common::_::_serde::Deserialize<'_>`
[INFO] [stdout]     --> src/geometry/polygon.rs:10:12
[INFO] [stdout]      |
[INFO] [stdout]    9 | #[serde(bound(serialize = "C: Serialize", deserialize = "C: Deserialize<'de>"))]
[INFO] [stdout]      |                                                         --------------------- unsatisfied trait bound
[INFO] [stdout]   10 | pub struct Polygon<C: Coord> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = help: consider manually implementing `common::_::_serde::Deserialize<'_>` to avoid undesired bounds
[INFO] [stdout]      = note: 1 redundant requirement hidden
[INFO] [stdout]      = note: required for `graphic::Graphic<polygon::Polygon<C>>` to implement `common::_::_serde::Deserialize<'_>`
[INFO] [stdout] note: required by a bound in `serde_json::from_str`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/de.rs:2701:8
[INFO] [stdout]      |
[INFO] [stdout] 2699 | pub fn from_str<'a, T>(s: &'a str) -> Result<T>
[INFO] [stdout]      |        -------- required by a bound in this function
[INFO] [stdout] 2700 | where
[INFO] [stdout] 2701 |     T: de::Deserialize<'a>,
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^ required by this bound in `from_str`
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Deserialize`
[INFO] [stdout]      |
[INFO] [stdout]  247 |     fn test_polygon<C: common::_::_serde::Deserialize<'_>>() {
[INFO] [stdout]      |                      ++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `graphic::Graphic<polygon::Polygon<C>>`
[INFO] [stdout]    --> src/js_sdk/graphic.rs:251:9
[INFO] [stdout]     |
[INFO] [stdout] 251 |         assert_eq!(serde, de);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         graphic::Graphic<polygon::Polygon<C>>
[INFO] [stdout]     |         graphic::Graphic<polygon::Polygon<C>>
[INFO] [stdout]     |
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Coord`
[INFO] [stdout]     |
[INFO] [stdout] 247 |     fn test_polygon<C: geometry::coord::Coord>() {
[INFO] [stdout]     |                      ++++++++++++++++++++++++
[INFO] [stdout] help: consider restricting type parameter `C` with trait `PartialEq`
[INFO] [stdout]     |
[INFO] [stdout] 247 |     fn test_polygon<C: std::cmp::PartialEq>() {
[INFO] [stdout]     |                      +++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `C: Coord` is not satisfied
[INFO] [stdout]    --> src/js_sdk/graphic.rs:251:9
[INFO] [stdout]     |
[INFO] [stdout] 251 |         assert_eq!(serde, de);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^ the trait `Coord` is not implemented for `C`
[INFO] [stdout]     |
[INFO] [stdout] note: required for `polygon::Polygon<C>` to implement `GeometrySymbolPair`
[INFO] [stdout]    --> src/js_sdk/graphic.rs:35:16
[INFO] [stdout]     |
[INFO] [stdout]  35 | impl<C: Coord> GeometrySymbolPair for Polygon<C> {
[INFO] [stdout]     |         -----  ^^^^^^^^^^^^^^^^^^     ^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         unsatisfied trait bound introduced here
[INFO] [stdout] note: required for `graphic::Graphic<polygon::Polygon<C>>` to implement `PartialEq`
[INFO] [stdout]    --> src/js_sdk/graphic.rs:44:12
[INFO] [stdout]     |
[INFO] [stdout]  43 | #[derive(Clone, Serialize, Deserialize, Debug, PartialEq)]
[INFO] [stdout]     |                                                ---------
[INFO] [stdout]     |                                                |
[INFO] [stdout]     |                                                type parameter would need to implement `PartialEq`
[INFO] [stdout]     |                                                in this derive macro expansion
[INFO] [stdout]  44 | pub struct Graphic<G>
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout]     = help: consider manually implementing `PartialEq` to avoid undesired bounds
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Coord`
[INFO] [stdout]     |
[INFO] [stdout] 247 |     fn test_polygon<C: geometry::coord::Coord>() {
[INFO] [stdout]     |                      ++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `C` doesn't implement `Debug`
[INFO] [stdout]    --> src/js_sdk/graphic.rs:251:9
[INFO] [stdout]     |
[INFO] [stdout] 251 |         assert_eq!(serde, de);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^ the trait `Debug` is not implemented for `C`
[INFO] [stdout]     |
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Debug`
[INFO] [stdout]     |
[INFO] [stdout] 247 |     fn test_polygon<C: std::fmt::Debug>() {
[INFO] [stdout]     |                      +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `C` doesn't implement `Debug`
[INFO] [stdout]    --> src/js_sdk/graphic.rs:251:9
[INFO] [stdout]     |
[INFO] [stdout] 251 |         assert_eq!(serde, de);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^ the trait `Debug` is not implemented for `C`
[INFO] [stdout]     |
[INFO] [stdout] help: consider restricting type parameter `C` with trait `Debug`
[INFO] [stdout]     |
[INFO] [stdout] 247 |     fn test_polygon<C: std::fmt::Debug>() {
[INFO] [stdout]     |                      +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0369, E0425, E0432, E0433.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `esri_json` (lib test) due to 175 previous errors; 9 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] running `Command { std: "docker" "inspect" "1b75c8b58ed7db5608c2c6ec2d6eafa0915f24b6c29dca5bb837564be552e0cf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1b75c8b58ed7db5608c2c6ec2d6eafa0915f24b6c29dca5bb837564be552e0cf", kill_on_drop: false }`
[INFO] [stdout] 1b75c8b58ed7db5608c2c6ec2d6eafa0915f24b6c29dca5bb837564be552e0cf
